Query - costruire un sommario (HELP)
Sto cercando di approfondire il linguaggio SQL e, facendo vari esperimenti, negli ultimi giorni mi sono imbattuto in un problema che non riesco a risolvere. Ve lo sottopongo sperando che qualcuno sappia darmi una mano.
Con un database mySQL voglio gestire un sistema di quiz a domande (organizzate per categorie).
In questo sistema ho principalmente due tabelle, una che si occupa di memorizzare tutte le categorie possibili ( chiamata "qz_categories" ) e un'altra che si occupa di memorizzare tutte le domande ( "qz_questions" ).
Vi riporto i campi più significativi di ogni tabella per una maggiore comprensione
______________________________________
qz_categories: id, name
qz_questions: id, text, category_id
______________________________________
dove qz_questions.category_id è un riferimento all'id della categoria a cui appartiene la specifica domanda.
Adesso veniamo al problema vero e proprio.
Vorrei creare una sorta di sommario che mostri i nomi di tutte le categorie e per ognuna di esse il numero di domande che appartengono a quella categoria.
Ho risolto parzialmente il problema con la seguente query:
SELECT qz_categories.id, qz_categories.name, COUNT(qz_questions.category_id) as total
FROM qz_questions, qz_categories
WHERE qz_questions.category_id = qz_categories.id
GROUP BY qz_categories.id
tale query mi da un risultato del genere
id name total
--------------------------------------
1 Sport 7
3 Scienze 3
4 Letteratura e Lingue 6
5 Musica e Arte 4
6 Storia e Geografia 5
7 Calcolo 8
Qual'è il problema?
Il problema è che esistono altre due categorie che non hanno alcuna domanda e quindi vorrei che apparissero con valore total uguale a zero.
Come fare?!
Subject
Views
Written By
Posted
Query - costruire un sommario (HELP)
4446
August 30, 2007 05:32AM
2780
August 30, 2007 07:13AM
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.