请教关于这个SQL语句的问题

bigmingming bigmingming 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
连接中 http://bbs.csdn.net/topics/391112939

with table1 as
(
SELECT 1 id,'00000002,00000003,00000004' code
)
, table2 as
(
SELECT '00000002' AS CODE ,'AAA'AS NAME UNION ALL
SELECT '00000003' AS CODE ,'BBB'AS NAME UNION ALL
SELECT '00000004' AS CODE ,'CCC'AS NAME UNION ALL
SELECT '00000005' AS CODE ,'DDD'AS NAME UNION ALL
SELECT '00000006' AS CODE ,'EEE'AS NAME
)
SELECT id, MAX(code) code, STUFF((SELECT ','+name FROM (select b.id, b.code, a.NAME from table2 a inner join table1 b on ','+b.CODE+',' like '%,'+a.code+',%') t WHERE id=t1.id FOR XML PATH('')), 1, 1, '') name
FROM (select b.id, b.code, a.NAME from table2 a inner join table1 b on ','+b.CODE+',' like '%,'+a.code+',%') t1
GROUP BY id


请问1.为什么用','+b.CODE+',' like '%,'+a.code+',%',其中的','+XX+','起什么作用,为什么两边加了逗号能分解出所有的CODE
2.FOR XML PATH使用有好的资料吗
...全文
评论 5
收藏 已收藏
分享
返回顶部
bigmingming
疑难问题 22,298 成员 121,727 内容