Posté par alf .
En réponse au message aidez_moi!!.
Évalué à 0.
Une idée qui me vient, par forcément optimisée: on recherche d'abord les immeubles qui n'ont qu'un propriétaire:
SELECT B.ADRESSE
FROM APPARTEMENT B
GROUP BY B.ADRESSE
HAVING COUNT(B.PROPRIO) = 1
Puis on détermine les noms des propriétaires de ces immeubles:
SELECT DISTINCT P.NOM
FROM PERSONNE P
JOIN APPARTEMENT A
ON P.NOM=A.PROPRIO
WHERE A.ADRESSE in (SELECT B.ADRESSE
FROM APPARTEMENT B
GROUP BY B.ADRESSE
HAVING COUNT(B.PROPRIO) = 1)
En fait, cette requête détermine les noms des propriétaires de chaque appartement dont l'adresse est celle d'un immeuble n'ayant qu'un propriétaire, puis on fait un "DISTINCT" sur cette liste.
(devant traiter au quotidien des requêtes infâmes faisant des jointures à plus de 10 tables, je suis assez pointilleux sur l'indentation de mon SQL ;)
# Requête imbriquée + jointure
Posté par alf . En réponse au message aidez_moi!!. Évalué à 0.