oracle列轉(zhuǎn)換成行 Oracle逗號分隔列轉(zhuǎn)行實現(xiàn)方法?
Oracle逗號分隔列轉(zhuǎn)行實現(xiàn)方法? 在做系統(tǒng)時,經(jīng)常會遇到在一個字段中,用逗號或其他符號分隔存儲多個信息,例如保存某個用戶的一對多權(quán)限時,在權(quán)限組這個字段中,就會逗號分隔保存多個權(quán)限編號。 那么
Oracle逗號分隔列轉(zhuǎn)行實現(xiàn)方法?
在做系統(tǒng)時,經(jīng)常會遇到在一個字段中,用逗號或其他符號分隔存儲多個信息,例如保存某個用戶的一對多權(quán)限時,在權(quán)限組這個字段中,就會逗號分隔保存多個權(quán)限編號。
那么,現(xiàn)在如果給出一個權(quán)限編號,要去檢索出用后這個權(quán)限的用戶集合,就會需要在逗號分隔的多個權(quán)限編號中去匹配給出的這個權(quán)限編號。如果使用like去做,一則效率不高,二則匹配不精確。因此用到了逗號分隔列轉(zhuǎn)行的方法。目前該方法只適合在oracle數(shù)據(jù)庫中使用。該方法只需要sql語句就可以實現(xiàn)列轉(zhuǎn)行。
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實現(xiàn)行轉(zhuǎn)換成列的方法?
數(shù)據(jù)表示例:假設(shè)要將name值作為行,course值作為列,轉(zhuǎn)換后效果為:對應(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ù)學") AS "數(shù)學",(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ù)學" THEN score END) AS "數(shù)學",SUM(CASE course WHEN "英語" THEN score END) AS "英語"FROM grade GROUP BY name
oracle中怎么把行轉(zhuǎn)變成列,列轉(zhuǎn)變成行?
select to_char(wm_concat(name)) from tablename使用wm_concat函數(shù)將列轉(zhuǎn)化成行,使用逗號分割。最后轉(zhuǎn)化成字符串
OracleSQL如何實現(xiàn)“可判斷的行轉(zhuǎn)列”的方法?
SQL*Loader是Oracle數(shù)據(jù)庫導(dǎo)入外部數(shù)據(jù)的一個工具。它和DB2的Load工具相似,但有更多的選擇,它支持變化的加載模式,可選的加載及多表加載。如何使用SQL*Loader工具我們可以用Oracle的sqlldr工具來導(dǎo)入數(shù)據(jù)。
excel中怎樣把列數(shù)據(jù)變成行?
我是頭條號:Excel小技巧的小編,分享一些辦公常用的技能,希望有我的分享,能提高大家的工作效率,如果覺得文章對你有用,請在下方點個贊,讓小編高興下,如果沒有解決你的問題,請給我留言,我們進一步探討
這個問題,這在Excel里面叫做轉(zhuǎn)置,有兩種處理方法,都可以實現(xiàn)行列的轉(zhuǎn)換,手動或者是使用函數(shù)
手動-復(fù)制-選擇性粘貼(轉(zhuǎn)置)
1、選擇你需要轉(zhuǎn)換的數(shù)據(jù),按鍵盤上面的Ctrl C,復(fù)制一下
2、選中目標位置的單元格,點右鍵,有一個轉(zhuǎn)職的圖標(如圖),如果是較老版本的Excel軟件,可能需要選擇性粘貼-勾選轉(zhuǎn)職,就可以了;
函數(shù)實現(xiàn)
在Excel中有一個轉(zhuǎn)置的函數(shù),TRANSPOSE(待轉(zhuǎn)置的數(shù)據(jù)),這是一個數(shù)組函數(shù),所以請先選擇要存放轉(zhuǎn)置數(shù)據(jù)的單元格區(qū)域(注意,比如數(shù)據(jù)源區(qū)域為5行6列,轉(zhuǎn)置后就變成6行5列,所以此時需要選擇6行5列的區(qū)域),然后在輸入完函數(shù)后,需要俺鍵盤上面的Ctrl shift Enter三個鍵一起按,才能輸入輸入;