Originariamente inviato da piero.mac
codice:
SELECT c.id, count(f.cid) AS count
FROM `categorie` AS c
JOIN files AS f On f.cid =c.id
GROUP BY f.cid
UNION
SELECT c.id, count(f.cid) AS count
FROM `categorie` AS c
LEFT JOIN files AS f On f.cid = c.id
WHERE f.cid IS NULL
GROUP BY c.id
La prima query e' corretta ma non precisa. Siamo d'accordo che raggruppi per categorie, ma vai a pescare il valore del raggruppamento nella tabella files. E' lo stesso, ma non e' lo stesso se nella tabella files il c.id non esiste o per assurdo fosse errato. Il secondo count dara' zero(0), cosi' potrai identificare i record delle categorie senza files.

Ti mando le coordinate bancarie in pvt....
ecco... chiara la precisazione sulla prima query.. in effetti ci avevo pensato per un attimo mentre la scrivevo, ma poichè l'attenzione era su come ottenere il risultato finale e stavo facendo varie prove, non m'ero soffermato sul dettaglio

Per la seconda... fregato da un where

Ottimo, la provo.. ma ad occhio va