with tmp as( select 1 id,'a' col from dual union all select 2,'b' from dual union all select 3,'c' from dual union all select 4,'d' from dual union all select 5,'e' from dual ) select max(decode(id,1,col,null)) col1, max(decode(id,2,col,null)) col2, max(decode(id,3,col,null)) col3, max(decode(id,4,col,null)) col4, max(decode(id,5,col,null)) col5 from tmp
select 1 id,'a' col from dual
union all
select 2,'b' from dual
union all
select 3,'c' from dual
union all
select 4,'d' from dual
union all
select 5,'e' from dual
)
select max(decode(id,1,col,null)) col1,
max(decode(id,2,col,null)) col2,
max(decode(id,3,col,null)) col3,
max(decode(id,4,col,null)) col4,
max(decode(id,5,col,null)) col5
from tmp