Bonjour CinePhil,
votre requêtemarche parfaitement comme vous l'avez expliquer, la seule chose qui ne fonctionne pas, c'est au moment pour ou un locataire qui a loué plusieurs chambre, et en a payé la loacation d'une seule chambre pour le mois de janvier, ne fais plus sortir cette personne au moment j'exécute votre requête en choissant le mois 1 pour l'année 2012, or il doit resortir cette personne pourvu qu'il n'a pas payé pour tous les chambres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT l.nom, l.prenom FROM locataire l LEFT OUTER JOIN verser v ON v.locataire_idlocataire = l.idlocataire AND v.anne = 2012 AND v.mois_idmois = 1 WHERE v.locataire_idlocataire IS NULL
mais en ajoutant, ce que punkoffa jouter a votre requête le problème est parfaitement resolut, sur une periode ou le moi est entre 1 et 1, et aussi pour une periode ou le mois est entre 1 ou 5 par exemple; la liste de tous les locataires qui n'ont payé du tout ou une partie des locations pour certaianes chambres et d'autres n'ont sont listés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 (SELECT a.chambre_idchambre, a.locataire_idlocataire, b.idmois, b.mois FROM louer a, mois b WHERE b.mois BETWEEN 1 AND 5) a INNER JOIN locataire l ON l.idlocataire = a.locataire_idlocataire
Je vais tooujours continuer les test sur plusieurs niveaux de payement et je vous tiendrai informer.
Merci pour votre soutient.
Kokey
Partager