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
たとえば、最初の行では、skilldesc を次のように更新する必要があります。'.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