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 :
con la prima troverei tutto..ma non compaiono le categorie che non sono utilizzate..con la seconda troverei tutte le categorie.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
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

Rispondi quotando
non mi veniva proprio come fare. ho usato una outer join perchè volevo usare anceh i valori che non combaciavano.
