在今天工作中遇到的问题,客户要求将用户的多条标签以逗号相隔显示在用户列表中,数据库是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