Write a query to display below

 Input:

 

Expected Output:

 

Step 1:

select 1 col1,'a' col2 from dual

union all

select 2 col1,'b' col2 from dual

union all

select 3 col1,'c' col2 from dual

union all

select 4 col1,'d' col2 from dual;

1   a

2   b

3   c

4   d

Step 2:

with t as (select 1 col1,'a' col2 from dual

union all

select 2 col1,'b' col2 from dual

union all

select 3 col1,'c' col2 from dual

union all

select 4 col1,'d' col2 from dual )

select a.col2 col from t a,t b

where a.col1>=b.col1

order by a.col1;

a

b

b

c

c

c

d

d

d

d

Step 3:

with t as (select 1 col1,'a' col2 from dual

union all

select 2 col1,'b' col2 from dual

union all

select 3 col1,'c' col2 from dual

union all

select 4 col1,'d' col2 from dual )

select listagg(a.col2) within group(order by a.col1) col from t a,t b

where a.col1>=b.col1

group by a.col1

order by a.col1;

a

bb

ccc

dddd

 

 

 

No comments:

Post a Comment