• # Requête imbriquée + jointure

    Posté par . 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 ;)