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 26 27 28 29 30 31 32 33 34 35 36 37 38
| WITH sumB AS
(
SELECT B_ID
,SUM(CASE WHEN B.col1 IN ('2','3') AND B.col2='NE' THEN B.heures END) AS req_B_1
,SUM(CASE WHEN B.col1 IN ('2','3') AND B.col2='NE' THEN B.montant END) AS req_B_2
...
FROM B
WHERE ..
GROUP BY B_ID
),
C as
(
SELECT C_ID, C.Col1, C.Col2...
FROM C
WHERE ..
),
D as
(
SELECT D_ID, D.Col1, D.Col2...
FROM D
WHERE ..
),
E as ...
SELECT B.req_B_1
,B.req_B_2
, C.Col1
, C.Col2
, ...
, D.Col1
, D.Col2
, E....
FROM A
LEFT OUTER JOIN sumB ON (sumB.B_ID= A.A_ID)
LEFT OUTER JOIN C ON (C.C_ID= A.A_ID)
LEFT OUTER JOIN D ON (D.D_ID= A.A_ID)
... |
Partager