真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

oracle如何轉(zhuǎn)列 oracle怎么將列轉(zhuǎn)行

oracle如何實(shí)現(xiàn)行轉(zhuǎn)列

用union all

創(chuàng)新互聯(lián)公司專注于賀蘭網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供賀蘭營銷型網(wǎng)站建設(shè),賀蘭網(wǎng)站制作、賀蘭網(wǎng)頁設(shè)計(jì)、賀蘭網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造賀蘭網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供賀蘭網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

假設(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 根據(jù)某一行的值轉(zhuǎn)化成列?

樓主這種 典型的行列轉(zhuǎn)換問題。

Oracle 一般就通過 DECODE 或者 CASE WHEN 來處理。

SQL CREATE TABLE TEST_YLX (

2 name VARCHAR2(2),

3 zfname VARCHAR2(6),

4 tdate DATE

5 );

Table created.

SQL

SQL INSERT INTO TEST_YLX VALUES ('A', 'size1', TO_DATE('2010-02-01', 'YYYY-MM-D

D') );

1 row created.

SQL INSERT INTO TEST_YLX VALUES ('A', 'size2', TO_DATE('2010-02-01', 'YYYY-MM-D

D') );

1 row created.

SQL INSERT INTO TEST_YLX VALUES ('B', 'size1', TO_DATE('2010-02-01', 'YYYY-MM-D

D') );

1 row created.

SQL INSERT INTO TEST_YLX VALUES ('C', 'size3', TO_DATE('2010-02-01', 'YYYY-MM-D

D') );

1 row created.

SQL

SQL SELECT

2 name,

3 SUM ( DECODE(zfname, 'size1', 1, 0) ) AS size1,

4 SUM ( DECODE(zfname, 'size2', 1, 0) ) AS size2,

5 SUM ( CASE WHEN(zfname = 'size3') THEN 1

6 ELSE 0

7 END

8 ) AS size3

9 FROM

10 test_ylx

11 GROUP BY

12 name;

NAME SIZE1 SIZE2 SIZE3

---- ---------- ---------- ----------

A 1 1 0

B 1 0 0

C 0 0 1

SQL

上面的例子中, size1 和 size2 是用 DECODE

size3 用 CASE WHEN

看具體情況需要,而使用。

========================================

唯一麻煩的是

這個(gè)SQL, 需要預(yù)先知道, size1 size2 size3 這些信息

如果表中新增加了 size4 , 需要修改 SQL 語句。

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 行轉(zhuǎn)列 ,這個(gè)要怎么轉(zhuǎn)

with??t(cate_displayname,info_waritername,count)?as?(

select?'2014年','lizifeng',1?from?dual?

union?all

select?'歷史沿革','wenqingwen',20?from?dual?

union?all

select?'領(lǐng)導(dǎo)講話','lizifeng',3?from?dual?

)

SELECT?cate_displayname,

nvl(lizifeng,0)?as?lizifeng,

nvl(wenqingwen,0)?as?wenqingwen

FROM???t

PIVOT?(

sum(count)????????----?pivot_clause

FOR?info_waritername??????????----?pivot_for_clause

IN??('lizifeng'?as?lizifeng,'wenqingwen'?as?wenqingwen)???----?pivot_in_clause

);

輸出:

CATE_DISPLAYNAME???????????LIZIFENG?WENQINGWEN

------------------------?----------?----------

2014年????????????????????????????1??????????0

歷史沿革??????????????????????????0?????????20

領(lǐng)導(dǎo)講話??????????????????????????3??????????0


網(wǎng)站名稱:oracle如何轉(zhuǎn)列 oracle怎么將列轉(zhuǎn)行
當(dāng)前網(wǎng)址:http://weahome.cn/article/hjeosd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部