У меня есть 2 таблицы в SQL Server:столбец Обновление с помощью разделенных запятыми значений в SQL Server
TABLE1
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
TABLE2
ID SkillName
100 .Net
101 Java
102 JQuery
103 Sql
104 PHP
105 C
мне нужно обновить SkillDesc
столбец Table1
с именами Skill. Например, в первой строке мне нужно обновить 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
Вы не должны хранить такие значения. Является ли исправление (то есть правильно нормализовать его) вашей моделью данных? –
Нет ... Это старый стол. Я не смогу изменить этот стол, потому что он уже используется :( – san
- это одна проблема или постоянная проблема? – RoughPlace