Bonjour, j'ai une requête où je cherche à savoir l'adresse active des parents d'un usager à une date donnée.

Il est possible qu'on ait une adresse active pour un parent à cette date donnée, que nous n'ayons aucune adresse pour ce parent ou que la plus ancienne adresse connue d'un parent soit supérieure à cette date. C'est cette dernière possibilité qui me cause problème.

Je pars d'une vue avec 219 usagers et après la requête suivante je me retrouve à 218 car un des usagers a une mère dont la plus ancienne (et seule) adresse connue a débuté après la date donnée.

Ma question: comment faire pour ne pas perdre cet usager ?

Voici une partie de mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
FROM   VUE_PLAC_ACTIF_DATE_DONNEE_02,
          ADRESSE   ADRESSE_MERE,
          ADRESSE   ADRESSE_PERE
 
WHERE  VUE_PLAC_ACTIF_DATE_DONNEE_02.USAGERIDMERE IS NOT NULL
AND      VUE_PLAC_ACTIF_DATE_DONNEE_02.USAGERIDMERE  =
           ADRESSE_MERE.PARENTID (+)
AND    (ADRESSE_MERE.CODETYPEADRESSE  IN (0, 2, 3)
AND     ADRESSE_MERE.DATEDEBUT            <= '2010-05-19'
AND    (ADRESSE_MERE.DATEFIN                 IS NULL
OR       ADRESSE_MERE.DATEFIN                  > '2010-05-19')
 
OR     NOT EXISTS 
       (SELECT NULL FROM ADRESSE ADRESSE_MERE_2 
        WHERE VUE_PLAC_ACTIF_DATE_DONNEE_02.USAGERIDMERE  = 
        ADRESSE_MERE_2.PARENTID))
En vous remerciant!