Bonjour, je m'y connais assez bien en SQL mais je tombe sur un cas que je n'arrive pas trop à résoudre proprement.
Je vous explique le problème avec un bon exemple.
J'ai une table personne et une table logement.
Personne(Id)
Logement(Id, IdPersonne, DateDebut, DateFin)
Une personne possède plusieurs logements à différentes dates.
J'ai simplifié le problème au possible.
Mon problème est que je voudrais la liste des personnes avec leur premier logement.
Je peux donc faire une requête de ce genre
Cette requête me permet donc d'avoir une ligne par personne et d'avoir le premier logement dans la base, ce qui n'est pas forcement le logement le plus vieux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT P.Id, L.DateDebut, L.DateFin FROM Personne AS P, Logement AS L WHERE P.Id = L.IdPersonne GROUP BY P.Id
Auriez-vous une solution à me proposer pour avoir le logement le plus ancien de la personne ?
Je pense qu'il y a une façon simple de le faire que je ne vois pas.
PS : désolé pour le titre je ne savais pas trop comment résumer ma demande.
Partager