Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Jeden wiersz -> dwa lub więcej wierszy
Forum PHP.pl > Forum > Bazy danych
Speed666
Witajcie,
Mam taki problem który mnie zatkał i mimo użycia Google'a nie znalazłem rozwiązania.
Załóżmy że mam prostą bazę danych z produktami i kategoriami. Tabela produkty ma klucz ID_produktu, tabela kategorie ma klucz ID_kategorii i tabela produkt_has_kategoria to dwukolumnowa tabela łącząca ID_PRODUKTU i ID_KATEGORII.
Kod
| ID_KATEGORII | ID PRODUKTU |
| 1                     |             1        |
| 2                     |             1        |
| 3                     |             2        |
| 2                     |             2        |
----------------------------------------

Potrzebuję teraz zwrócić wszystkie produkty jednym zapytanie talkie, które należą i do kategorii 1 i do kategorii 2 jednocześnie.
To zapytanie powinno mi zwrócić tylko produkt o ID 1 a nie zwracać produktu o ID 2.
OR zwróci mi i 1 i 2 - a to nie o to chodzi.
Jakiś pomysł bo mnie się chyba mózg wyłączył.... sad.gif

Pozdrawiam,
Marcin
ucho
Coś w ten deseń
Kod
select p.* from produkt as p, phask as h1, phask as h2 where h1.kategoria_id = 1 and h2.kategoria_id =2 and p.id = h1.produkt_id and p.id = h2.produkt_id
Speed666
Dzięki, nie wpadłem na taki sposób rozwiązania problemu - ale podobny kombinowałem z LEFT JOIN i zarzynałem bazę. Tak więc jeszcze raz dzięki - działa smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.