oracle下可以用函數decode處理:
在納溪等地區,都構建了全面的區域性戰略布局,加強發展的系統性、市場前瞻性、產品創新能力,以專注、極致的服務理念,為客戶提供網站設計、做網站 網站設計制作按需搭建網站,公司網站建設,企業網站建設,高端網站設計,營銷型網站建設,成都外貿網站建設公司,納溪網站建設費用合理。
select 產品名稱,
sum(decode(季度,'第一季度',銷售額,0)) 第一季度銷售額,
sum(decode(季度,'第二季度',銷售額,0)) 第二季度銷售額,
sum(decode(季度,'第三季度',銷售額,0)) 第三季度銷售額,
sum(decode(季度,'第四季度',銷售額,0)) 第四季度銷售額,
from 表名
group by 產品名稱;
你所謂的行列轉換應該是指縱表轉橫表,橫表轉縱表.
給你個例子
縱表轉橫表:
使用DECODE語句,可以很方便的將縱表轉為橫表,例子如下:
原表查詢結果:
ID MAJOR CURRENT_CREDITS
------ ---------------- ---------------
10000 Computer Science 98
10000 History 88
10001 Computer Science 75
10000 Economics 66
我們要把各科成績從同一列轉到不同的列中去。
SQL?select id,
sum(decode(major,’Computer Science’,current_credits,0)) cs,
sum(decode(major,’History’,current_credits,0)) his,
sum(decode(major,’Economics’,current_credits,0)) eco
from students
group by id
ID CS HIS ECO
------ ----------- ------------- -----
10000 98 88 66
10001 75
橫表轉縱表:
使用 UNION 即可實現將橫表轉為縱表,以上面的表為例:
轉換前:
ID CS HIS ECO
------ ----------- ------------- -----
10000 98 88 66
SQL?select id, ’Computer Science’ major,cs current_credits
from students
union
select id, ’History’ major,his current_credits
from students
union
select id, ’Economics’ major,eco current_credits
from students
ID MAJOR CURRENT_CREDITS
------ ---------------- ---------------
10000 Computer Science 98
10000 History 88
10000 Economics 66
需要oracle
8i以上的版本,可以實現類似sql
server的返回結果集(就是table)的函數。
需要參考的oracle資料:
索引表,table函數,
pipelined。依次去網上搜索,會得到你要的答案。
如果再不行,我可以給你sample。
推薦用WM_CONCAT函數
SELECT A.STD, WM_CONCAT(A.F3) NEW_RESUL
FROM (SELECT STD, F3
FROM (SELECT STD, F1 F3
FROM TABLE_A
UNION ALL
SELECT STD, F2 F3 FROM TABLE_A) A) A
GROUP BY A.STD
分享標題:oracle怎么轉列函數,oracle列轉行函數怎么用
網址分享:http://vcdvsql.cn/article48/hedchp.html
成都網站建設公司_創新互聯,為您提供自適應網站、全網營銷推廣、網站策劃、定制開發、建站公司、響應式網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯