Document
  

sql server数据库一个表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中

sql server数据库截取字段中字符串,然后通过截取内容连接另一个表查询数据:

SELECT  *,'显示列' = STUFF(( SELECT ',' + b.列名
                         FROM   b
                         where   PATINDEX('%,' + RTRIM(序号) + ',%',',' + a.列名 + ',')>0
                         ORDER BY PATINDEX('%,' + RTRIM(序号) + ',%',',' + a.列名 + ',')        
                         --加上排序不变(如:2,1,3)
                       FOR XML PATH('')), 1, 1,'')
FROM    a

数据库a

序号
1 1,2
2 2,4

数据库b

序号
1 a
2 b
3 c
4 d

查询结果

序号
1 a,b
2 b,d
posted @ 2020-11-25 17:08  半个失忆人  阅读(962)  评论(0)    收藏  举报