Aide pour un requête SELECT
Bonjour, bonsoir !
Une question de novice pour vous détendre les neurones...(enfin, c'est ce que je nous souhaite)
Pour faire simple : j'ai 2 tables "dossier" et "adresses" qui ont en commun un champ client_ID.
Champs dans "dossier" :
- ID (non null, numéro de dossier unique)
- ID_client : ce champ peut être null !
Champs dans "adresses" :
- rue, commune, codepostal, ...
- ID_client (non null)
- type_adresse (non null) : F (famille) ou P (professionnelle)
La combinaison ID_client et type_adresse est unique. Par contre, un ID_client peut-être présent plusieurs fois.
Je veux faire une requête SELECT qui retourne pour un dossier donné UNE seule adresse du client : adresse professionnelle si il y a, sinon autre. Mais je ne sais pas comment formuler ça (pour le type d'adresse). A noter que si dossier.ID_client est null, ma requête doit quand même afficher l'enregistrement.
L'un de vous pourrait-il m'aider avec une petit suggestion ?
Un grand merci d'avance ! Bonne journée !
Cécile
Oracle 10g
le toujours pressé ne relit qu'après
je me suis trompé dans nommage
Code:
1 2 3 4 5 6 7 8 9 10
| <div style="text-align: left;">SELECT D.ID, D.ID_client ,
decode(P.type_adresse,'P',P.type_adresse,F.type_adresse) "TYPE ADRESSE",
decode(P.type_adresse,'P',P.Rue,F.Rue) "RUE",
decode(P.type_adresse,'P',P.Commune,F.Commune) "COMMUNE",
decode(P.type_adresse,'P',P.Codepostal,F.Codepostal) "CODE POSTAL",
FROM
(SELECT * FROM Adresses WHERE type_adresse = 'P') P,
(SELECT * FROM Adresses WHERE type_adresse = 'F') F
WHERE D.ID_client = P.ID_client(+)
AND D.ID_client = F.ID_client(+) </div> |
Désolé