欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle 數(shù)據(jù)顯示 橫表轉(zhuǎn)縱表

 更新時(shí)間:2009年07月25日 10:56:47   作者:  
橫表轉(zhuǎn)縱表亦可用與decode意義相似的case語(yǔ)句實(shí)現(xiàn),原理同該語(yǔ)句,這里不再過(guò)多描述。
1.建表
復(fù)制代碼 代碼如下:

-- Create table
create table test
(
dm1 char(3),
dm2 char(3),
mc1 nvarchar2(20),
val nvarchar2(20)
)

2.填入數(shù)據(jù)如下:

DM1 DM2 MC1 VAL
101 1 c1 100
101 1 c2 80
101 1 c3 40
101 2 c1 30
101 2 c2 80
102 4 c1 9
102 6 c2 50

轉(zhuǎn)換后數(shù)據(jù)顯示如下:

DM1 DM2 c1 c2 c3
101 1 100 80 40
101 2 30 80  
102 4 9    
102 6   50  

3.轉(zhuǎn)換語(yǔ)句:

復(fù)制代碼 代碼如下:

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

注:該語(yǔ)句是在val為數(shù)值的情況下的執(zhí)行方法,如果val不為數(shù)值型,或者包含字符串等類(lèi)型的話(huà),運(yùn)用sum會(huì)報(bào)錯(cuò),這里可以采用另外一個(gè)方法,將sum改為max即可,語(yǔ)句如下:
復(fù)制代碼 代碼如下:

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語(yǔ)句實(shí)現(xiàn),原理同該語(yǔ)句,這里不再過(guò)多描述。

相關(guān)文章

最新評(píng)論