Autor | Zpráva | ||
---|---|---|---|
SteveO Profil * |
#1 · Zasláno: 7. 3. 2012, 20:57:29
Ahoj, mám následující SQL dotaz. Potřebuju vypsat seznam kategorií a k nim počty článků. Problém je, že pokud je některá sekce prázdná, neobsahuje článek, tak se nevypíše.
SELECT rubriky.nazev, COUNT(clanky.id) AS pocet FROM rubriky LEFT JOIN clanky ON rubriky.id=clanky.rubrika WHERE clanky.hotovy=1 GROUP BY clanky.rubrika ORDER BY rubriky.poradi Díky za pomoc! |
||
ninja Profil |
#2 · Zasláno: 7. 3. 2012, 21:07:12
Protože řádky bez připojeného článku nesplní podmínku WHERE. Upravte na:
SELECT rubriky.nazev, COUNT(clanky.id) AS pocet FROM rubriky LEFT JOIN clanky ON rubriky.id=clanky.rubrika WHERE clanky.hotovy=1 OR clanky.id IS NULL GROUP BY rubrika.id ORDER BY rubriky.poradi |
||
SteveO Profil * |
#3 · Zasláno: 7. 3. 2012, 21:20:39
Super, díky moc :)
|
||
SteveO Profil * |
#4 · Zasláno: 7. 3. 2012, 22:48:59
Ještě jedna věc, pokud je v rubrice pouze jeden článek, který má hotovy=0, tak se rubrika taky nevypíše (logicky, zase nesplní podmínku), poradíte prosím?
|
||
Kajman Profil |
Podmínku na hotovost dejte rovnou do left joinu.
SELECT rubriky.nazev, COUNT(clanky.id) AS pocet FROM rubriky LEFT JOIN clanky ON rubriky.id = clanky.rubrika AND clanky.hotovy = 1 GROUP BY rubriky.id ORDER BY rubriky.poradi |
||
Časová prodleva: 12 let
|
0