ciao a tutti. mi è comparsoun problema.
ho 3 tabelle.
prima :ci sono gli id e i nomi delle sezioni
seconda :ci sono gli id e i nomi delle categorie(sotto sezione) e l'id della sezione relativa
terza :ci sono gli id e i nomi delle attività e sono segnati quali sezioni e categorie sono utilizzate dall'attività in quiestione
quello che facevo io era creare una join tra le tabelle per avere una lista di tutte le categorie e delle sezioni relative.
ma volevo fare una cosa un po piu carina. ovvero volevo fare un count delle attività che sono associate ad una categoria.
ho buttato giu le due query separatamente :
Codice PHP:
SELECT categoria.id AS id,categoria.value AS categoria, sezione.value AS sezione,COUNT(categoria.value)
FROM categoria
LEFT JOIN sezione ON categoria.rif_sez=sezione.id
JOIN attivita
WHERE (
attivita.rif_cat1=categoria.id
OR attivita.rif_cat2=categoria.id
OR attivita.rif_cat3=categoria.id
OR attivita.rif_cat4=categoria.id
)
GROUP BY categoria
SELECT categoria.id AS id,categoria.value AS categoria, sezione.value AS sezione
FROM categoria
LEFT JOIN sezione ON categoria.rif_sez=sezione.id
con la prima troverei tutto..ma non compaiono le categorie che non sono utilizzate..con la seconda troverei tutte le categorie.
un distinct non si puo fare, la union è inutile..dovrei fare una join ma non ho trovato alcun modo per far si che succeda.
quello che vorrei ottenere è la lista di tutte le categoria,sezioni,quante attività usano la categoria.
avete qualche idea? grazie