Autor Zpráva
mou
Profil *
Zdravím,
nevím si rady se selectem z více tabulek. Mám tři tabulky, jedna obsahuje základní informace o produktech, druhá přiřazuje produktům kategorie (1:n), třetí přiřazuje produktům barvy (1:n)

1. tabulka má sloupce: id, cena, ...
2. tabulka má sloupce: produkt_id, kategorie_id
3. tabulka má sloupce: produkt_id, barva_id

potřebuju v 1 dotazu vytahat informace o produktu a do toho v jednom sloupci vypsat všechny kategorie, do kterých patří a ve druhém sloupci vypsat všechny barvy, které má

Zkoušel jsem:
SELECT produkt.id as id, cena, GROUP_CONCAT(produkt_kategorie.kategorie_id) as kategorie, GROUP_CONCAT(produkt_barvy.barvy_id) as barvy FROM produkt INNER JOIN produkt_kategorie ON (produkt.id = produkt_kategorie.produkt_id) INNER JOIN produkt_barvy ON (produkt.id = produkt_barvy.produkt_id) ORDER BY produkt.id


Moderátor Kajman: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ). A příště dlouhé dotazy prožeňte přes odkazovaný formátovač.

ale je to chybně, vypíše pouze 1. produkt a u něj seznam všech dostupných kategorií.
Díky za radu
juriad
Profil
Chybí ti tam klauzule GROUP BY produkt.id. Takto to chápe tak, že všechny záznamy jsou v jediné skupině.
mou
Profil *
juriad:
výborně, díky za pomoc.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: