sql 关于取相同id的字段值并以逗号相隔的问题

mac2022-06-30  89

在今天工作中遇到的问题,客户要求将用户的多条标签以逗号相隔显示在用户列表中,数据库是sqlserver2014。之前在oracle、mysql中遇到过相似的需求,在这里总结下。

例如;

select TZ_CLASS_ID,TZ_BATCH_NAME FROM PS_TZ_CLS_BATCH_T ;

 

要实现查询相同TZ_CLASS_ID情况下TZ_BATCH_NAME以逗号相连显示,在不同的数据库中有不同的方法实现。

oracle:listagg()

 

 

mysql:group_concat()

 

sqlserver: 

在网上搜索了下可以使用string_agg的方法,然而我们工作居然用的2014版本,并不支持

 

 

使用stuff+xml path 实现分组连接

 

 

 参考:

https://www.cnblogs.com/CreateMyself/p/9058380.html

https://www.cnblogs.com/lgx5/p/6543561.html

转载于:https://www.cnblogs.com/nbweber/p/11436712.html

最新回复(0)