Autor Zpráva
SteveO
Profil *
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
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 *
Super, díky moc :)
SteveO
Profil *
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 

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: