數據庫,多行字符串合併,聚合

需求

表  t1

a,b

-------

1,b1

2,b2


表  t2

a,c

-----

1,c11

1,c12

2,c21

2,c22

查詢結果:

a,bb

-------

1,[c11,c12]

2,[c21,c22]

mysql方法

select a,(select group_concat(c) from t2 btab where btab.a=atab.a ) as bb from t1 atab

使用到了group_concat,mysql內置的字符串聚合函數。

sqlserver的方法使用的是:FOR XML PATH

SELECT t1.a,t1.b,cc=STUFF((SELECT ','+c FROM t2 WHERE a = t1.a FOR XML PATH('') ),1,1,'')
FROM t1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章