[MSSQL]如何仿照mysql的group_concat

有關資料庫的討論, 都可以在這發表哦~~

[MSSQL]如何仿照mysql的group_concat

文章tim » 2014年 7月 9日, 23:50

http://paladinprogram.blogspot.tw/2011/05/mssql-mysql-groupconcat.html

http://stackoverflow.com/questions/451415/simulating-group-concat-mysql-function-in-microsoft-sql-server-2005

http://blog.xuite.net/tolarku/blog/39322307

測試程式碼:
代碼: 選擇全部
create table tbl_testa2
(data varchar(50), sid varchar(50))
insert into tbl_testa2 values('AAA','aaaaa')
insert into tbl_testa2 values('BBB','aaaaa')
insert into tbl_testa2 values('CCC','aaaaa')
insert into tbl_testa2 values('DDD','bbbbb')

SELECT     sid, data = replace
                          ((SELECT data AS [data()]
                              FROM tbl_testa2
                              WHERE  sid = a.sid
                              ORDER BY sid FOR xml path('')), ' ', ',')
FROM         tbl_testa2 a
WHERE     sid IS NOT NULL
GROUP BY sid


結果:
aaaaa AAA,BBB,CCC
bbbbb DDD

或是:
代碼: 選擇全部
select sid, data=(select data +',' from tbl_testa2 where sid = a.sid for xml path('') )
from tbl_testa2 a
group by sid


結果:
aaaaa AAA,BBB,CCC,
bbbbb DDD,
多多留言, 整理文章, 把經驗累積下來.....
頭像
tim
 
文章: 1286
註冊時間: 2008年 11月 26日, 00:49

回到 資料庫專區(SQL/ORACLE/MySQL/...)

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron