国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Oracle 數據顯示 橫表轉縱表

2020-07-26 14:33:47
字體:
來源:轉載
供稿:網友
1.建表
復制代碼 代碼如下:

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

2.填入數據如下:

DM1DM2MC1VAL
1011c1100
1011c280
1011c340
1012c130
1012c280
1024c19
1026c250

轉換后數據顯示如下:

DM1DM2c1c2c3
10111008040
10123080 
10249  
1026 50 

3.轉換語句:

復制代碼 代碼如下:

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為數值的情況下的執行方法,如果val不為數值型,或者包含字符串等類型的話,運用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

此外,橫表轉縱表亦可用與decode意義相似的case語句實現,原理同該語句,這里不再過多描述。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桂林市| 喀什市| 剑阁县| 治县。| 金坛市| 琼中| 乐东| 鄂托克旗| 潢川县| 景泰县| 邳州市| 涡阳县| 即墨市| 金山区| 铁岭市| 大宁县| 平塘县| 浮梁县| 来安县| 连山| 湘乡市| 宽城| 高邮市| 永州市| 易门县| 乌审旗| 衢州市| 光山县| 宁陵县| 大悟县| 电白县| 湘潭市| 湘潭县| 吴江市| 康保县| 特克斯县| 临潭县| 祁门县| 沙坪坝区| 张家川| 乌拉特前旗|