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
|
Connected to Oracle9i Enterprise Edition Release 9.2.0.5.0
Connected as mni
SQL>
SQL> With Data As (
2 Select to_date('01/01/2001','DD/MM/YYYY') As Dat, 'TOTO' As Nom, 1 As Value from dual union all
3 Select to_date('01/01/2002','DD/MM/YYYY'),'TITI',2 from dual union all
4 Select to_date('01/02/2001','DD/MM/YYYY'),'TOTO',3 from dual union all
5 Select to_date('01/02/2002','DD/MM/YYYY'),'TITI',4 from dual
6 )
7 Select nom,
8 Max(Case When dat = to_date('01/01/2001','DD/MM/YYYY') Then value Else 0 End) "01/01/2001",
9 Max(Case When dat = to_date('01/01/2002','DD/MM/YYYY') Then value Else 0 End) "01/01/2002",
10 Max(Case When dat = to_date('01/02/2001','DD/MM/YYYY') Then value Else 0 End) "01/02/2001",
11 Max(Case When dat = to_date('01/02/2002','DD/MM/YYYY') Then value Else 0 End) "01/02/2002"
12 From Data
13 Group By nom
14 Order By nom Desc
15 /
NOM 01/01/2001 01/01/2002 01/02/2001 01/02/2002
---- ---------- ---------- ---------- ----------
TOTO 1 0 3 0
TITI 0 2 0 4
SQL> |
Partager