成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

oracle動(dòng)態(tài)列名 oracle動(dòng)態(tài)的行轉(zhuǎn)列怎么搞?

oracle動(dòng)態(tài)的行轉(zhuǎn)列怎么搞?用union all假設(shè)列名分別為 col1 cola colb...select col1,colafrom tabnamewhere ...union allsel

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)行,行轉(zhuǎn)列?

oracle下可以用函數(shù)decode處理:

select 產(chǎn)品名稱,

sum(decode(季度,"第一季度",銷售額,0)) 第一季度銷售額,

sum(decode(季度,"第二季度",銷售額,0)) 第二季度銷售額,

sum(decode(季度,"第三季度",銷售額,0)) 第三季度銷售額,

sum(decode(季度,"第四季度",銷售額,0)) 第四季度銷售額,

from 表名

group by 產(chǎn)品名稱

Oracle實(shí)現(xiàn)行轉(zhuǎn)換成列的方法?

數(shù)據(jù)表示例:假設(shè)要將name值作為行,course值作為列,轉(zhuǎn)換后效果為:對(duì)應(yīng)的SQL如下:方法1:使用表連接SELECT DISTINCT a.name,(SELECT score FROM grade b WHEREa.name=b.name AND b.course="語文") AS "語文",(SELECT score FROM grade b WHEREa.name=b.name AND b.course="數(shù)學(xué)") AS "數(shù)學(xué)",(SELECT score FROM grade b WHEREa.name=b.name AND b.course="英語") AS "英語"FROM grade a方法2:使用分組SELECT name,SUM(CASE course WHEN "語文" THEN score END) AS "語文",SUM(CASE course WHEN "數(shù)學(xué)" THEN score END) AS "數(shù)學(xué)",SUM(CASE course WHEN "英語" THEN score END) AS "英語"FROM grade GROUP BY name