sqlserver递归查询树型结构某节点的所有上级节点,并且把这些所有上级节点多行拼接为一行,即合并列数据witheps_root(pk_eps,pk_parent,eps_code,eps_name)as(SELECTpk_eps,pk_parent,eps_code,eps_nameFROMpm_epswhereenablestate=2andpk_eps='1001A11000000003P62E'unionallSELECTe.pk_eps,e
sql server 递归查询树型结构某节点的所有上级节点,并且把这些所有上级节点多行拼接为一行,即合并列数据
with eps_root(pk_eps, pk_parent, eps_code, eps_name) as( SELECT pk_eps, pk_parent, eps_code, eps_name FROM pm_eps where enablestate = 2 and pk_eps = '1001A11000000003P62E' union all SELECT e.pk_eps, e.pk_parent, e.eps_code, e.eps_name FROM pm_eps e inner join eps_root r on e.pk_eps = r.pk_parent where e.enablestate = 2)select distinct eps_code = stuff((select '/' + convert(nvarchar(500), eps_code) from (select distinct eps_code from eps_root) r1 for xml path('')), 1, 1, ''), --此次需要使用eps_code排序,不然中文的会错乱顺序 eps_name = stuff((select '/' + eps_name from (select top 99.99 PERCENT eps_name from eps_root order by eps_code) r2 for xml path('')), 1, 1, '')from eps_root
执行sql,如下图效果:
到此这篇关于sqlserver 合并列数据的实现的文章就介绍到这了,更多相关sqlserver 合并列数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!