国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

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