Bonjour,

Soit les tables :

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
17
18
19
 
T_CLIENT
id_client/nom
-------
1/DUPONT
2/DURAND
3/DUPRES
 
CRD
crdid/crdcustid/crddateattribution
-------
1/1/10-11-2010
2/2/11-11-2010
3/3/15-11-2010
 
T_VPC
vpc_id/id_client,vpc_statut
-------
1/1/acquitte
Je souhaite obtenir la liste des clients qui ont une carte attribuée avant le 15/11/2010 et savoir s'ils ont une VPC ou non

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
DUPONT/10-11-2010/acquitte
DURAND/11-11-2010/
J'obtiens ce résultat en "bricolant" avec deux requetes et une procédure pour supprimer les doublons.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
SELECT     T_CLIENT.ID_CLIENT, T_CLIENT.NOM, CRD.CRDDATEATTRIBUTION, ''
FROM T_CLIENT, CRD
WHERE CRD.CRDDATEATTRIBUTION < '10/11/2010'                
    AND CRD.CRDCUSTID=T_CLIENT.ID_CLIENT
UNION
SELECT T_CLIENT.ID_CLIENT, T_CLIENT.NOM, CRD.CRDDATEATTRIBUTION, T_VPC.VPC_STATUT
FROM T_CLIENT, CRD, T_VPC,
WHERE 
    AND CRD.CRDDATEATTRIBUTION < '10/11/2010'                
    AND CRD.CRDCUSTID=T_CLIENT.ID_CLIENT                
    AND CRD.CRDCUSTID=T_VPC.ID_CLIENT                
;
Est-il possible d'obtenir ce résultat sans bricolage ?

Vous remerciant par avance de votre aide et j'utilise ORACLE 10G comme SGBD.