十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
oracle下可以用函數(shù)decode處理:
在納溪等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需搭建網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),營(yíng)銷型網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè)公司,納溪網(wǎng)站建設(shè)費(fèi)用合理。
select 產(chǎn)品名稱,
sum(decode(季度,'第一季度',銷售額,0)) 第一季度銷售額,
sum(decode(季度,'第二季度',銷售額,0)) 第二季度銷售額,
sum(decode(季度,'第三季度',銷售額,0)) 第三季度銷售額,
sum(decode(季度,'第四季度',銷售額,0)) 第四季度銷售額,
from 表名
group by 產(chǎn)品名稱;
你所謂的行列轉(zhuǎn)換應(yīng)該是指縱表轉(zhuǎn)橫表,橫表轉(zhuǎn)縱表.
給你個(gè)例子
縱表轉(zhuǎn)橫表:
使用DECODE語句,可以很方便的將縱表轉(zhuǎn)為橫表,例子如下:
原表查詢結(jié)果:
ID MAJOR CURRENT_CREDITS
------ ---------------- ---------------
10000 Computer Science 98
10000 History 88
10001 Computer Science 75
10000 Economics 66
我們要把各科成績(jī)從同一列轉(zhuǎn)到不同的列中去。
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
橫表轉(zhuǎn)縱表:
使用 UNION 即可實(shí)現(xiàn)將橫表轉(zhuǎn)為縱表,以上面的表為例:
轉(zhuǎn)換前:
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以上的版本,可以實(shí)現(xiàn)類似sql
server的返回結(jié)果集(就是table)的函數(shù)。
需要參考的oracle資料:
索引表,table函數(shù),
pipelined。依次去網(wǎng)上搜索,會(huì)得到你要的答案。
如果再不行,我可以給你sample。
推薦用WM_CONCAT函數(shù)
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