1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| With MaTable (Entite1, Entite2, Date, Valeurs) as -- Vos données
(
select 'Toto', 'Tata', '01/01/2011', 300 union all
select 'Tete', 'Toto', '01/01/2011', 600 union all
select 'Toto', 'Tete', '01/01/2011', 250
)
, SR (Entite, Date) as
(
select Entite1, Date from MaTable
union
select Entite2, Date from MaTable
)
select SR.Entite, SR.Date, coalesce(sum(MT.Valeurs), 0) as Valeurs
from SR
left outer join MaTable as MT
on MT.Entite1 = SR.Entite
AND MT.Date = SR.Date
group by SR.Entite, SR.Date
Entite Date Valeurs
------ ---------- -----------
Tata 01/01/2011 0
Tete 01/01/2011 600
Toto 01/01/2011 550 |
Partager