我在 SQL Server 中有 2 个表:
表格1
ID SkillSetRequired SkillDesc
1 100-1,101-1,102-2,103-3 null
2 100-4,105-2 null
3 100-1,102-2,104-2 null
4 100-5,102-2 null
5 105-1 null
表2
ID SkillName
100 .Net
101 Java
102 JQuery
103 Sql
104 PHP
105 C
我需要使用 SkillNames更新SkillDesc
列。Table1
例如在第一行我需要更新技能描述为'.Net,Java,Jquery,SQL'
在不使用游标的情况下如何做到这一点?
我从以下查询中获取字符串中的结果,以获取单个记录。但我需要更新所有行。
declare @result varchar(max)
SET @result = ''
SELECT @result = @result + ltrim(rtrim(SkillName)) + ',' from #Table2 where id in(
select SUBSTRING(items, 0 + 1, CHARINDEX('-', items, 1) - 0 - 1) from split('100-1,101-1,102-2,103-3',','))
select @result