SELECT sg.date, sg.groupName, sg.highlights, user.display_name as displayName,
COUNT(*) as cmtcnt
FROM `saved_groups` as sg
LEFT JOIN `user` on user.email = sg.userName
LEFT JOIN `user_comments` as uc on sg.groupName = uc.groupName
GROUP BY sg.groupName
Mám dvě tabulky, saved_groups
a user_comments
a druhý řádek dotazu by měl (ano, to funguje), návrat navíc sloupec s počtem komentářů, spojené s každé skupiny.
Nicméně, když skupina nemá žádné komentáře s ním spojené, hrabě vrací 1 když to by měla vrátit nulu.
Jak to mohu opravit tento dotaz?
Zkoušel jsem: COUNT(*)-1 as cmtcnt
- a, který vrátí nulu pro skupiny bez komentáře, ale také se vrací nesprávné číslo (-1) pro skupiny, které mají přidružené komentáře.
Také jsem se snažil: NULL(Count(*), 0)
-- ale, že chyby s #1582 - Incorrect parameter count in the call to native function 'ISNULL'
Také jsem se snažil: COALESCE(COUNT(*), 0) as cmtcnt
... a to dělalo žádný rozdíl vůbec (vráceno 1 pro všechny skupiny s žádné připomínky, správný počet pro ostatní)
Návrhy?