从品牌网站建设到网络营销策划,从策略到执行的一站式服务
今天给大家介绍一下SQL Server怎么合并组内字符串。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的合作网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
SELECT p2.G,
SS = JSON_VALUE(
REPLACE(
(SELECT _ = p1.S FROM T p1 WHERE p1.G = p2.G FOR JSON PATH)
,'"},{"_":"',', '),'$[0]._'
)
FROM T p2
SQL Server 2014需要3层嵌套来合并组内字符串,还得借助XML,代码看起来非常复杂:
SELECT Main.G, LEFT(Main.SS,Len(Main.SS)-1) As "SS" FROM ( SELECT DISTINCT p2.G, ( SELECT p1.S + ',' AS [text()] FROM T p1 WHERE p1.G = p2.G ORDER BY p1.G FOR XML PATH ('') )[SS] FROM T p2 )[Main] |
其他版本的SQL Server写法虽然各有不同,但通常也很复杂。
当数据库没有类似group_concat这样的函数时,可以用esProc协助实现,代码会简单很多。同样针对2014版SQL Server,esProc可以这样合并组内字符串:
A | B | |
1 | =db.query("select G, S from T") | /query from SQL Server 2014 |
2 | =A1.group(G; ~.(S).concat(",")) | /用逗号合并多行 |
这样就可以实现类似group_concat的功能了,而且任何数据库上都可以用。
esProc是个脚本语言,可以在IDE里反复执行,还可以用命令行方式调用,适合简化SQL中的难题。
以上就是SQL Server怎么合并组内字符串的全部内容了,更多与SQL Server怎么合并组内字符串相关的内容可以搜索创新互联之前的文章或者浏览下面的文章进行学习哈!相信小编会给大家增添更多知识,希望大家能够支持一下创新互联!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图