Bonjour à tous,
Je poste pour la suite de mon message d'hier http://http://www.developpez.net/for...d.php?t=166295
mais la question précise étant résolue j'ajoute une nouvelle discussion
Comme le titre l'indique, je cherche à faire une jointure externe sur une sous requete.
Je m'explique : j'ai 3 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
20
21
22
23
24
25 CREATE TABLE table1 ( date_p timestamp NOT NULL, valeur int8, CONSTRAINT table1_pkey PRIMARY KEY (date_p) ) WITHOUT OIDS; CREATE TABLE table3 ( id_date serial NOT NULL, date_p timestamp, CONSTRAINT table3_pkey PRIMARY KEY (id_date) ) WITH OIDS; CREATE TABLE table4 ( id_mes serial NOT NULL, id_date int4, id_instr int4, valeur float4, CONSTRAINT table4_pkey PRIMARY KEY (id_mes) ) WITH OIDS;
Je voudrai obtenir qlq chose de similaire à
Sauf que cela ce complique je voudrai récupérer non plus table2.valeur mais table4.valeur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT table1.date_p,table1.valeur,table2.valeur FROM table1 LEFT JOIN table2 ON table1.date_p=table2.date_p WHERE table1.date_p BETWEEN '2000-01-01' AND '2000-01-05'
du genre :
2000-01-01 | T1v1 | null
2000-01-02 | T1v2 | T4v1
2000-01-03 | T1v3 | null
2000-01-04 | T1v4 | T4v2
2000-01-05 | T1v5 | T4v3
en faisant qlq chose comme ca
mais bien sur cela ne fonctionne pas pour le moment
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT table1.date_p,table1.valeur,table4.valeur FROM table1 LEFT JOIN (SELECT table3.date_p,table4.valeur FROM table4,table3 WHERE table3.id_date = table4.id_date AND table3.date_p BETWEEN '2000-01-01' AND '2000-01-05' AND id_instr =1) as toto ON table1.date_p = table3.date_p WHERE table1.date_p BETWEEN '2000-01-01' AND '2000-01-05'
suis je sur la bonne piste ??
Merci d'avance
Partager