sqlserver-当一个字段以逗号隔开存多个id,用sql取这个id对应的名字,
formtable_main_143 存储数据格式如下 id为主键(字段类型int),zrr1为HrmResource中的id组成(字段类型text)
HrmResource表数据如下 id字段类型int lastname字段类型varchar(1000)
在网上找到的方法:SELECT a.id,a.zrr1 ,'显示列' = STUFF(( SELECT ',' + b.lastname
FROM HrmResource b
where PATINDEX('%,' + RTRIM(b.id) + ',%',',' + CAST(a.zrr1 as varchar) + ',')>0
ORDER BY PATINDEX('%,' + RTRIM(b.id) + ',%',',' + CAST(a.zrr1 as varchar) + ',')
FOR XML PATH('')), 1, 1,''
)
FROM formtable_main_143 a
遇到的问题:
数据显示不全