数据库,多行字符串合并,聚合

需求

表  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

你可能感兴趣的:(数据库,mysql,字符串,聚合,group_concat)