J'ai 3 tables (students, frais, info).
Dans la table students, j'ai les coordonnées des étudiants.
Dans la table frais, j'ai tous les payements reçu des étudiants.
Dans la table info, j'ai des info cfr. le payement dont le montant à payer.
J'essaye de faire un listing des étudiants qui sont en ordre de payement.
Dans la table info, je note les étudiants boursiers qui ne payent que 25 euros.
Les autres payent 200 euros.
J'ai réussi à lister ceux qui n'ont rien payé via cette requête mysql :
SELECT student_id AS id_student ,student_nom AS nom_student
FROM students
WHERE NOT EXISTS
(
SELECT null
FROM frais
WHERE student_id = frais_id
)
Mais j'essaye aussi d'avoir une liste avec les étudiants qui n'ont rien ET qui ont partiellement payé.La difficulté réside dans le fait que les boursiers payent 25 et les autres 200 .
Dans ma table "info" si "info_bourse" = 1 alors ils sont boursiers.
Par défaut, ils ne sont pas boursier.
Est-ce que je peux compléter ma requête pour ceux qui n'ont rien payé afin d'obtenir une liste de tous ceux qui ne sont pas encore en ordre de payement ?
Du genre de cette requête ... qui ne fonctionne pas encore ...
WHERE EXISTS FROM info WHERE info_bourse = 1 AND SUM(paied_amount) != 25 AND WHERE EXISTS FROM info WHERE info_bourse = 0 AND SUM(paied_amount) != 140
Est-ce possible ? Ou alors serait-il possible de créer une liste contenant les données de 3 requêtes MySQL. J'aurais alors les étudiants n'ayant rien payé (requête n°1), les étudiants boursiers qui ne sont pas en ordre de payement (requête n°2) et les étudiants non boursiers non en ordre de payement (requête n°3) sur une liste.
Merci d'avance pour votre aide,
Tom