Bonjour;
Je suis sous mysql server 5 et je travaille avec mysql browser.
J'ai fait 4 requêtes qui ne donnent aucune ligne en résultat et il n' y a pas de message d'erreur non plus.
Cela fait 2 heures que je cherche la source d'erreur.
Pouvez-vous me dire si vous voyez des fautes de logique?
Le mpd donne une table compte (contenant id_etudiant, le montant des factures, montant des versements, no_facture...) reliée à une table étudiant (contenant id_etudiant, le nom_etudiant ...) elle-même (etudiant) reliée à une table inscription (contenant id_etudiant, id_cursus, no_inscription...) elle-même (inscription) reliée à une table cursus (contenant id_cursus, nom_cursus, prix_cursus...).
D'avance merci.
Voici le code:
VI. Listez le total des factures faites aux étudiants regroupées par cursus en montrant les id_cursus et les noms de cursus
SELECT c.id_cursus, c.nom_cursus,
COUNT(co.no_facture) 'Total factures'
FROM compte co, cursus c, etudiant e, inscription i
WHERE co.id_etudiant = e.id_etudiant
AND e.id_etudiant = i.id_etudiant
AND i.id_cursus = c.id_cursus
GROUP BY c.id_cursus;
VII. A partir de la requête précédente, ajoutez une colonne indiquant le total qui devrait être facturé en faisant référence au prix du cursus
SELECT c.id_cursus, c.nom_cursus, c.prix_cursus,
COUNT(co.no_facture) 'Total factures',
SUM(co.montant_facture) 'Total à facturer'
FROM compte co, cursus c, etudiant e, inscription i
WHERE co.id_etudiant = e.id_etudiant
AND e.id_etudiant = i.id_etudiant
AND i.id_cursus = c.id_cursus
GROUP BY c.id_cursus;
VIII. Faites un état des comptes étudiants ; on veut voir les noms, le total des factures, celui des versements et le solde de chaque compte
SELECT e.nom_etudiant,
SUM(co.montant_facture) 'Total factures',
SUM(co.montant_versement) 'Total versements',
(SUM(co.montant_facture) - SUM(co.montant_versement)) 'SOLDE'
FROM compte co, etudiant e
WHERE co.id_etudiant = e.id_etudiant
GROUP BY e.nom_etudiant;
IX. A partir de la requête précédente, n'éditez plus que les comptes créditeurs (qui ont plus payé qu'ils ne sont facturés)
SELECT e.nom_etudiant,
SUM(co.montant_facture) 'Total factures',
SUM(co.montant_versement) 'Total versements',
(SUM(co.montant_facture) - SUM(co.montant_versement)) 'COMPTES CREDITEURS'
FROM compte co, etudiant e
WHERE co.id_etudiant = e.id_etudiant
GROUP BY e.nom_etudiant
HAVING (SUM(co.montant_facture) - SUM(co.montant_versement)) < 0;