sql行列轉(zhuǎn)換最簡單的方法 sql怎樣將行的值變?yōu)榱校?/h1>
sql怎樣將行的值變?yōu)榱校磕氵@是Oracle數(shù)據(jù)庫,給你看看我寫的:列轉(zhuǎn)行錄入經(jīng)營范圍時候會遇到列傳行的問題解決方案如下:在temp1 表有一下字段內(nèi)容:一條sql轉(zhuǎn)化列傳行效果select a,z
sql怎樣將行的值變?yōu)榱校?/h2>
你這是Oracle數(shù)據(jù)庫,給你看看我寫的:
列轉(zhuǎn)行
錄入經(jīng)營范圍時候會遇到列傳行的問題解決方案如下:
在temp1 表有一下字段內(nèi)容:
一條sql轉(zhuǎn)化列傳行效果
select a,zj,zjname from temp1 unpivot(zjname for zj in(b,c,d,e,f,g,h,i,j))
行轉(zhuǎn)列:
select * from tbname
行轉(zhuǎn)列之后的數(shù)據(jù):
select pud, listagg(ud, ",") within group(order by null) as ud
from tbname
group by pud
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)行。