ho una tabella categorie con chiave id
ho una tabella files con campo cid = categorie.id
Voglio sapere quanti files ci sono per ogni categoria, quindi:
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
questa funziona bene ovviamente... l'unico problema: vorrei includere nel risultato anche le categorie per cui non è ancora presente alcun file...
ovvro non solo:
ID | count
1 | 4
2 | 2
5 |7
ma anche:
ID | count
1 | 4
2 | 2
3 | 0
4 |0
5 |7
posso benissimo fare lato php: per ogni categoria faccio una ulteriore query... ma volevo ottimizzare un pochino..
Ci sto pensando da mezz'ora (vergognandomi per aver preso 30 al laboratorio di basi di dati appena un anno fa) ma non ne vengo a capo.
Teoricamente mi servirebbe una UNION che aggiunga all'insieme di sopra le categorie non associate a nessun file.. queste penso che riuscirei anche ad ottenere in qualche modo (tutte le categorie, meno quelle restituite della prima query)... il problema è che la UNION si aspetta di avere lo stesso numero di colonne.. come fo'? Sbaglio starda? Non si può fare?
piero.maaaac... aiutami tuuuu
![]()