Ahoj,
Používám databázi Mysql, mám v ní tabulky Clanek, Kategorie, Clanek_Kategorie (spojovací). Každej článek může mít několik kategorií.
Snažím se to zapsat nějakým způsobem zapsat do jednoho dotazu místo abych dělal psí kusy v PHP.
Ale nějak tomu nemůžu přijít na kloub.
Spojovací tabulka vypadá asi tak:
clanek_id | kategorie_id
1 | 2
1 | 3
1 | 5
2 | 2
3 | 5
3 | 2
pokud napisu tento dotaz:
Výpis vypadá asi nějak tak:Kód:SELECT clanek.id, clanek.nazev, kategorie.nazev FROM clanek_kategorie LEFT JOIN kategorie ON clanek_kategorie.kategorie_id = kategorie.id LEFT JOIN clanek ON clanek_kategorie.clanek_id = clanek.id WHERE clanek.status = "1" ORDER BY clanek.datum DESC
1 | Ahoj svete | Životní styl
1 | Ahoj svete | Osobní
1 | Ahoj svete | Komedie
Ale potřebuju dosáhnout toho, aby výsledek vypadal takto:
1 | Ahoj svete | Životní styl, osobní, komedie
Zároveň ale potřebuji abz se zobrazily i články, které nejsou ve spojovací tabulce... zkrátka všechny.
Možná je to komplikované řešení, jsem tak trochu nahranej. Jde jen o přiřazování kategorií k článku.
Ale řešení, že bych u každého článku měl sloupec "kategorie_id" a bylo to tam zapsané asi tak "2,3,5" je asi ještě horší než spojovací tabulkou.
Je to možné udělat přímo v jednom mysql dotazu?
Příjmu i jiné řešení.
Díky



