oracle的行列轉換,怎麼實現

2022-12-13 20:10:18 字數 1459 閱讀 4608

1樓:射手幽靈伊

select 123 from table_nameunion

select 456 from table_nameunion

select 789 from table_name

2樓:微末

你這種的話 果斷用遞迴方式

以前做過個類似的 sql給你貼出來 適當改一下

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

1.建立測試表

create table zxt_test

( id varchar(10),

ivalue varchar(20),

iname varchar(20)

)commit;

-----------

2.插入測試語句

insert into zxt_test values('1','aa','x'),('2','bb','x'),('3','bb','x'),('1','bb','y'),('2','bb','y'),('3','bb','y');

commit;

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

3.檢視資料

select * from zxt_test;

1 'aa' 'x'

2 'bb' 'x'

3 'bb' 'x'

1 'bb' 'y'

2 'bb' 'y'

3 'bb' 'y'

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

4.with 的寫法!

with

s as (

select row_number()over(partition by iname order by id) id1,

row_number()over(partition by iname order by id) id2,

ivalue,iname from zxt_test),

t(iname,id1,id2,ivalue) as

(select iname,id1,id2,cast(ivalue as varchar(100)) from s where id1 =1 and id2=1

union all

select t.iname,t.id1+1,t.id2,cast(s.ivalue||','||t.ivalue as varchar(100))

from s, t

where s.id2=t.id1+1 and t.iname = s.iname

)select iname,ivalue from t where t.id1= (select max(id1) from s where s.iname = t.iname);

5.結果如下:

'x' 'bb,bb,aa'

'y' 'bb,bb,bb'

sql server 2019的資料行列轉換問題

靜態sql select max case when a 1 then a end as a,max case when a 3 then a end as b from table union all select max case when b 2 then b end as a,max cas...

python怎麼實現字串和數字的轉換

py3 from functools import reducedigits def char2num s 單個字元轉數字return digits s def str2int s 整數字串轉化整數,不支援浮點數.浮點數得另內寫一個 if s 0 要判斷一下該數字有沒容有符號return reduc...

excel中如何實現進位制之間的轉換

用函式。hex 16進位制,dec 10進位制,oct 8進位制,bin 2進位制。hex2dec 十六進位制轉十進位制。dec2hex 十進位制轉十六進位制。以此類推。答題不易,互相理解,您的是我前進的動力,如果我的沒能幫助您,請繼續追問。您也可以向我們團隊發出請求,會有更專業的人來為您解答!您的追問 是我前進的...