关于for xml path('')
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于for xml path('')相关的知识,希望对你有一定的参考价值。
今天在项目中遇到一个问题,在综合查询的时候,需要把同一个表中,同一个人的某个属性加起来放在一个字段中,这时候需要for xml path(‘‘)
select * from t_Baseinfo bi left join ( select DISTINCT b.PersonID, STUFF( ( select ‘,‘+ a.Features from t_Special a where a.PersonID=b.PersonID and flag=1 for xml path(‘‘) ),1,1,‘‘) as features from t_Special b )tfeatures on bi.ID=tfeatures.PersonID where Flag=1 and tfeatures.Features like ‘%眼%‘
其中,先使用 select ‘,‘+ a.Features from t_Special a for xml path(‘‘),把需要放在一个字段中的属性用‘,’拼接放在xml中,
人后用stuff截掉第一个‘,’,起别名 features,由于需要把表中同一personid显得字段防盗一个里 所以需要加上 where a.PersonID=b.PersonID 条件。这样他会根据b表中personid来取值。
参考资料:http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html
以上是关于关于for xml path('')的主要内容,如果未能解决你的问题,请参考以下文章
FOR XML PATH('')),1,1,'')这是啥意思
将SQL for xml path('')中转义的字符正常显示
求教oracle中类似mysql中for xml path('')的功能
SQL - for xml path('') 实现多行合并到一行, 并带有分隔符