字符拼接问题

小野马1209 小野马1209 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
问题描述:
有@#A和@#B两个表,现在需要拼接B表的PersonID ,拼接后的结果为什么把表2所有的名字都拼接了,条件不是限定了BillNo吗
declare @#A table (BillNo varchar(20),Remark varchar(100))
--插入数据
insert into @#A
select '001','' UNION ALL
select '002',''

declare @#B table (BillNo varchar(20),PersonID varchar(100))
--插入数据
INSERT INTO @#B
select '001','张三' UNION ALL
select '001','李四' UNION ALL
select '002','王五'
------------------测试数据结束

SELECT A.BillNo,REMARK=STUFF((SELECT ',' + PERSONID from @#A AA Inner JOIN @#B BB
ON BB.BillNo=AA.BillNo FOR XML PATH('')),1,1,'') from @#A A INNER JOIN @#B B
ON B.BillNo=A.BillNo GROUP BY A.BillNo

想要的结果
BillNo Remark
0001 张三,李四
0002 王五





...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
小野马1209
应用实例 27,579 成员 68,540 内容