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 39 40 41 42 43 44 45 46 47 48 49
|
DATE SEM Fin1 Fin2 Fin3 Type ID
x y 1 0 24 1 12345
x y 1 0 50 1 12346
x y 0 1 75 1 12347
x y 0 1 98 0 12348
SELECT a.date,
a.sem,
sum(a.fin1) AS nb_typ_fin1,
sum(a.fin2) AS nb_typ_fin2,
sum(a.fin3) AS Mt_fin_tot,
sum(b.fin3) AS Mt_Typ_Fin1,
sum(c.fin3) AS Mt_Typ_Fin3
FROM (SELECT *
FROM matable
WHERE type=1) a
LEFT OUTER JOIN
(SELECT ID,
DATE,
SEM,
FIN3
FROM matable
WHERE fin1=1
AND type=1) b
ON a.ID=b.ID AND a.date=b.date
LEFT OUTER JOIN
(SELECT ID,
DATE,
SEM,
FIN3
FROM matable
WHERE fin2=1
AND type=1) c
ON a.ID=c.ID AND a.DATE=c.DATE
GROUP BY DATE,
SEM
; |
Partager