

MySQL: Seřadit výsledky podle jiné tabulky
Ahoj, potřeboval bych pomoct s jedním MySQL dotazem (nevím co mám přesně googlovat, proto se ptám zde):
Mám tabulku jedna:
[b]
id nazev
[/b]
1 pocitac
2 hardware
3 software
Potom mám tabulku číslo dva:
[b]
id idr nazev
[/b]
1 1 zaklady
2 1 periferie
3 3 Windows
kde v druhé tabulce je idr id "rodiče" tabulky jedna. Tudíž v první tabulce:
K id 1 jsou přiřazeny 2 subkategorie, ke dvojce žádná(0) a k trojce jedna. A já potřebuji to takto seřadit, aby se mi podařil takovýto výpis:
počítač-software-hardware přesně podle počtu subkategorii v tabulce 2 přiřazené jedničce. Díky za odpověď.
mohlo by to pomoct, este som to neotestoval :)
skusim si to hodit do databazy a overim to
EDIT: doplnene descending zoradovanie ;)
otestoval som to u seba a ide to. Jediny problem je, ze pri software sa nezobrazuje ID nadradeneho riadku.
takze vysledok je
1 - Pocitac - 2
3 - Hardware - 1
null - software - 0
druha moznost je...
vytvorit si VIEW podla druhej tabulky, ktore ti bude zobrazovat IDR (id rodica) a pocet riadkov pre kazde IDR.
to prijoinujes k tabulke 1 cez IDR a zoradis podla poctu riadkov z toho VIEW.
Thx funguje to
Funguje to, ale je to pouze obchazeni spatneho navrhu databaze a v budoucnu se ti to vymsti, protoze to budes muset obchazet vzdy, kdyz to budes "nejak" zpracovat.
Já to uvedl pouze jako příklad, ve skutečnosti ty tabulky vypadají takto:
Kategorie jsou:
Auto-moto
Cestování a regiony
Zábava a hobby
a v tabulce subkategorie je třeba k zábavě a hobby toto:
Chovatelství, Film, Hry, Hudba, Humor, Koníčky a hobby....
A v další tabulce odkazy už jsou samotné odkazy, id subkategorie a id kategorie.