请教一个关联表查询的问题

nimingxin1987 2017-09-18 05:27:04
tb1
-------------------------------------------------
RecordID ToDoUserID
1 1,2
2
3 1,2,3,4
4 2,4

tbUser
-------------------------------------------------
UserID sName
1 小张
2 小王
3 小李
4 小赵

希望得到结果
-------------------------------------------------
RecordID ToDoUser
1 小张,小王
2
3 小张,小王,小李,小赵
4 小王,小赵
...全文
226 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
听雨停了 2017-09-18
  • 打赏
  • 举报
回复
前两天有人问了一个一模一样的问题,你可以去看看,版主这个也是那天他写的复制过来给你的。链接:http://bbs.csdn.net/topics/392264177
二月十六 2017-09-18
  • 打赏
  • 举报
回复
--测试数据
if not object_id(N'Tempdb..#tb1') is null
drop table #tb1
Go
Create table #tb1([RecordID] int,[ToDoUserID] nvarchar(27))
Insert #tb1
select 1,N'1,2' union all
select 2,null union all
select 3,N'1,2,3,4' union all
select 4,N'2,4'
GO
if not object_id(N'Tempdb..#tbUser') is null
drop table #tbUser
Go
Create table #tbUser([UserID] int,[sName] nvarchar(22))
Insert #tbUser
select 1,N'小张' union all
select 2,N'小王' union all
select 3,N'小李' union all
select 4,N'小赵'
Go
--测试数据结束
SELECT RecordID ,
STUFF(( SELECT ',' + sName
FROM #tbUser
WHERE CHARINDEX(',' + RTRIM(UserID) + ',',
',' + ToDoUserID + ',') > 0
FOR
XML PATH('')
), 1, 1, '') AS ToDoUser
FROM #tb1


22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧