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
|
Connected to Oracle Database 10g Express Edition Release 10.2.0.1.0
Connected as mni
SQL>
SQL> With Data As (
2 Select 'A' id,'XX' val From dual union all
3 Select 'B','XX' From dual union all
4 Select 'B','YY' From dual union all
5 Select 'C','ZZ' From dual union all
6 Select 'B','WW' From dual
7 ) select id,
8 max(case when val = 'XX' then 1 end) xx,
9 max(case when val = 'YY' then 1 end) yy,
10 max(case when val = 'ZZ' then 1 end) zz,
11 max(case when val = 'WW' then 1 end) ww
12 from data
13 group by id
14 /
ID XX YY ZZ WW
-- ---------- ---------- ---------- ----------
A 1
B 1 1 1
C 1 |