oracle 行轉(zhuǎn)列多字段 Oracle列轉(zhuǎn)行,行轉(zhuǎn)列?
Oracle列轉(zhuǎn)行,行轉(zhuǎn)列?oracle下可以用函數(shù)decode處理:select 產(chǎn)品名稱(chēng),sum(decode(季度,"第一季度",銷(xiāo)售額,0)) 第一季度銷(xiāo)售額,sum(decode(季度,"第
Oracle列轉(zhuǎn)行,行轉(zhuǎn)列?
oracle下可以用函數(shù)decode處理:
select 產(chǎn)品名稱(chēng),
sum(decode(季度,"第一季度",銷(xiāo)售額,0)) 第一季度銷(xiāo)售額,
sum(decode(季度,"第二季度",銷(xiāo)售額,0)) 第二季度銷(xiāo)售額,
sum(decode(季度,"第三季度",銷(xiāo)售額,0)) 第三季度銷(xiāo)售額,
sum(decode(季度,"第四季度",銷(xiāo)售額,0)) 第四季度銷(xiāo)售額,
from 表名
group by 產(chǎn)品名稱(chēng)
oracle查詢(xún)行轉(zhuǎn)列怎么寫(xiě)?
推薦用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
oracle中怎么把行轉(zhuǎn)變成列,列轉(zhuǎn)變成行?
select to_char(wm_concat(name)) from tablename使用wm_concat函數(shù)將列轉(zhuǎn)化成行,使用逗號(hào)分割。最后轉(zhuǎn)化成字符串
oracle動(dòng)態(tài)的行轉(zhuǎn)列怎么搞?
用union all
假設(shè)列名分別為 col1 cola colb...
select col1,cola
from tabname
where ...
union all
select col1,colb
from tabname
where ...
union all
select col1,colc
from tabname
where ...
union all
select col1,cold
from tabname
where ...
union all
select col1,cole
from tabname
where ...
union all
select col1,colf
from tabname
where ...
oracle列名不確定,行轉(zhuǎn)列?
select decode(t.rn,1,t.單位名稱(chēng)) as 單位名稱(chēng)1 ,
decode(t.rn,2,t.單位名稱(chēng)) as 單位名稱(chēng)2,
decode(t.rn,3,t.單位名稱(chēng)) as 單位名稱(chēng)3,
from (
select c.單位名稱(chēng),to_number() over(partition by c.單位名稱(chēng)) as rn
from table1 a,table2 b,table3 c
where a.id1 = b.id1
and b.id2=c.id2
) t
這是在知道多少行記錄數(shù)的情況下這樣實(shí)現(xiàn),如果不知道多少行,則最好用個(gè)中間表,搞個(gè)語(yǔ)句塊,把相關(guān)的數(shù)先放到中間表在進(jìn)行處理。
oracle行轉(zhuǎn)列函數(shù)?
推薦用WM_CONCAT函數(shù)SELECT A.STD, WM_CONCAT(A.F3) NEW_RESULFROM (SELECT STD, F3FROM (SELECT STD, F1 F3FROM TABLE_AUNION ALLSELECT STD, F2 F3 FROM TABLE_A) A) AGROUP BY A.STD