Autor | Zpráva | ||
---|---|---|---|
JanMatoušek Profil |
#1 · Zasláno: 29. 11. 2013, 11:16:49
Ahoj, mám select až 500 000 záznamů. Vše funguje dobře, ale potřeboval bych k tomu připojit kategorie. Jedna položka může být ve více kategorií, takže join by mi to zduplikoval. Lze to vyřešit nějakým elegantním řešením? Kategorie nemusím mít v poli, úplně ideální by bylo, kdyby se mi kategorie vrátily, jako string ve sloupci:
name | slopuec 1...x | kategorie| položka1| sloupec1...x |cat1, cat2, cat3 | |
||
juriad Profil |
Buď hledej group concat, nebo se smiř s duplicitami, nebo si to pospojuj na úrovni PHP.
Mimochodem, jak máš uloženou vazbu mezi položkou a kategorií; doufám, že to není čárkou oddělený seznam id-ček. |
||
JanMatoušek Profil |
samozřejmě mám tabulku relací. Group mě napadl, ale nevím, jak s tím docílit toho, aby select vytvořil nový sloupec, kde by se ty kategorie naplnily a oddělily čárkou.
Ideální by bylo, kdyby to šlo nějak takhle: SELECT items.name, FCE_CAT(cats.name) as categories JOIN cats_relations as cr ON cr.item_id = items.id JOIN cats ON cats.id =ct.cat_id GROUP BY id a ta FCE_CAT by dokázala to, že by uděla to, že by mi categories vrátila jako cat1, cat2, cat3 |
||
juriad Profil |
#4 · Zasláno: 29. 11. 2013, 12:02:18
Ta FCE_CAT se jmenuje GROUP_CONCAT
|
||
JanMatoušek Profil |
#5 · Zasláno: 29. 11. 2013, 12:35:02
super díky moc
|
||
Časová prodleva: 10 let
|
0