可以用wm_concat函數(shù)先把數(shù)據(jù)變成行顯示,然后再通過截取來顯示具體的月份,wm_concat轉(zhuǎn)換如下
你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、品牌網(wǎng)站建設(shè)、網(wǎng)頁制作、做網(wǎng)站、建網(wǎng)站。創(chuàng)新互聯(lián)擁有實(shí)力堅(jiān)強(qiáng)的技術(shù)研發(fā)團(tuán)隊(duì)及素養(yǎng)的視覺設(shè)計(jì)專才。
select?compay_name?cn,?wm_concat(income)?ic
from?(select?compay_name,?sum(income)?income,?substr(time,?1,?6)?time
from?income
---where?time?=start_month?and?time?=?end_month
group?by?compay_name,?substr(time,?1,?6)
order?by?compay_name,?substr(time,?1,?6))
group?by?compay_name;
可用union all來實(shí)現(xiàn)。
如test表中數(shù)據(jù)如下:
現(xiàn)要將id為3的一條按列顯示,可用如下語句:
select?to_char(id)?str?from?test?where?id=3
union?all
select?name?from?test?where?id=3;
查詢結(jié)果:
行轉(zhuǎn)列的準(zhǔn)則就是通過主鍵進(jìn)行分組,之后對行其它字段加上sum()、max()、count()函數(shù),里邊用decode()這類函數(shù)進(jìn)行處理,總之分組不要用到他就成。
測試表測了下,可以用,你看看,主要是先根據(jù)逗號進(jìn)行分割,然后connect,level等于逗號的數(shù)目:
select id,nvl(substr(glbh,instr(glbh,',',1,lvl)+1,instr(glbh,',',1,lvl+1)-instr(glbh,',',1,lvl)-1),'kong') glbh
from (
select id,lvl,','||glbh||',' glbh
from test a ,
(select level lvl from dual connect by level=
(select max(length(glbh)-length(replace(glbh,',')))+1 from test)) b
) t1
where substr(glbh,instr(glbh,',',1,lvl)+1,instr(glbh,',',1,lvl+1)-instr(glbh,',',1,lvl)-1) is not null
order by id,glbh;
姓名 數(shù)學(xué) 語文 姓名 張飛 趙云 龐統(tǒng)
張飛 60 61 數(shù)學(xué) 60 80 99
趙云 80 85 變成 語文 61 85 80
龐統(tǒng) 99 80
而且第一行為列名,不是表中的數(shù)據(jù),這樣的話
也就是第一個表下面三行的數(shù)據(jù),變成第二個表下面兩行的數(shù)據(jù)
這樣還是可以的
分享名稱:oracle怎么把行轉(zhuǎn)列,oracle實(shí)現(xiàn)行轉(zhuǎn)列
網(wǎng)站地址:http://chinadenli.net/article46/heeoeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、響應(yīng)式網(wǎng)站、搜索引擎優(yōu)化、定制開發(fā)、服務(wù)器托管、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)