I have this two query’s:
x
select CurBalName, CurBalAmount, CurBalDC from Tb_CurBal where curbaldc = 'C'
select CurBalName, CurBalAmount, CurBalDC from Tb_CurBal where curbaldc = 'D'
I would like to show them in the tabular form as shown on the image below…
Desired result:
Advertisement
Answer
One of the options:
Select case when curbaldc = 'D' then CurBalName
else null
end CurBalName_D
, case when curbaldc = 'D' then CurBalAmount
else null
end CurBalAmount_D
, case when curbaldc = 'D' then CurBalDC
else null
end CurBalDC_D
, case when curbaldc = 'C' then CurBalName
else null
end CurBalName_C
, case when curbaldc = 'C' then CurBalAmount
else null
end CurBalAmount_C
, case when curbaldc = 'C' then CurBalDC
else null
end CurBalDC_C
from Tb_CurBal;
One more way:
select * from
(select * from Tb_CurBal where curbaldc = 'D') A
full outer join
(select * from Tb_CurBal where curbaldc = 'C') B
on A.curbaldc = B.curbaldc
This will work on SQLServer:
select A.CurBalName, A.CurBalAmount, A.CurBalDC,
B.CurBalName, B.CurBalAmount, B.CurBalDC
from
(select CurBalName, CurBalAmount, CurBalDC, row_number() over (order by CurBalName) rn
from Tb_CurBal where curbaldc = 'D') A
left join
(select CurBalName, CurBalAmount, CurBalDC, row_number() over (order by CurBalName) rn
from Tb_CurBal where curbaldc = 'C') B
on A.rn = B.rn