У меня есть запрос, который выглядит так
declare @tmpTable Table(id int)
insert into @tmpTable(id) values (3)
insert into @tmpTable(id) values (5)
insert into @tmpTable(id) values (11)
declare @tmp int
declare @finalString varchar(MAX)
DECLARE c1 CURSOR READ_ONLY FOR SELECT ID FROM @tmpTable
OPEN c1
FETCH NEXT FROM c1 INTO @tmp
set @finalString=cast(@tmp as varchar)
FETCH NEXT FROM c1 INTO @tmp
WHILE @@FETCH_STATUS = 0
begin
set @finalString=@finalString+','+cast(@tmp as varchar)
FETCH NEXT FROM c1 INTO @tmp
end
close c1
deallocate c1
select @finalString
Я хочу создать форматированную строку «3,5,11» из значений столбцов таблицы, этот код работает, но есть ли лучший способ сделать это?