橫表轉(zhuǎn)縱表亦可用與decode意義相似的case語句實現(xiàn),原理同該語句,這里不再過多描述。
1.建表
代碼如下:
— Create table
create table test
(
dm1 char(3),
dm2 char(3),
mc1 nvarchar2(20),
val nvarchar2(20)
)
2.填入數(shù)據(jù)如下:
3.轉(zhuǎn)換語句:
代碼如下:
select dm1,dm2,sum(decode(mc1,’c1′,val)) c1,sum(decode(mc1,’c2′,val)) c2,sum(decode(mc1,’c3′,val)) c3
from test
group by dm1,dm2
注:該語句是在val為數(shù)值的情況下的執(zhí)行方法,如果val不為數(shù)值型,或者包含字符串等類型的話,運用sum會報錯,這里可以采用另外一個方法,將sum改為max即可,語句如下:
代碼如下:
select dm1,dm2,max(decode(mc1,’c1′,val)) c1,max(decode(mc1,’c2′,val)) c2,max(decode(mc1,’c3′,val)) c3
from test
group by dm1,dm2
此外,橫表轉(zhuǎn)縱表亦可用與decode意義相似的case語句實現(xiàn),原理同該語句,這里不再過多描述。
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END