请教关于这个SQL语句的问题
连接中 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使用有好的资料吗
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使用有好的资料吗
...全文
相关推荐
SQL高级查询语句关键时候解决问题的SQL语句
SQL高级查询语句 有用的 关键时候解决问题的SQL语句 SQL高级查询语句 有用的 关键时候解决问题的SQL语句
SQL精典问题与语句
sql递归语句、個人所得稅計算的精典方法、行轉列語句、將縱向數據橫向排列、交叉表(行轉列)的動態方法等,个人整理的对存储过程开发者极为有用。
Mysql运行SQL语句中文乱码问题的解决方法
网上很多关于mysql运行sql语句乱码的解决方法,都没有很好的解决这个问题,经本人不断努力,不断尝试,终于解决这个问题。如有这个问题出现,可参考此文档。
sql语句符号问题总结
个人总结全面的sql语句符号问题总结,引号使用问题
MySQL的SQL语句大小写不敏感问题解决方案
MySQL的SQL语句大小写不敏感问题解决方案


疑难问题
