Я пытаюсь объединить поле из нескольких записей в одну строку в SQL Server или T-SQL.
Например , у меня есть:
ID myString
1 This
2 is
3 a
4 test!
... и Мне нужно : This is a test!
Я могу объединить две записи , используя LAG (см. Ниже), и я подозреваю, что есть WHILE в решении (возможно, вариант в этом сообщении RedGate ), но я не уверен, что делать дальше.
create table #temp (id int, myString varchar(max));
insert into #temp values (1,'This');
insert into #temp values (2,'is');
insert into #temp values (3,'a');
insert into #temp values (4,'test!');
select
myString,
LAG(myString) OVER (ORDER BY id) + ' ' + myString as [myTwoFields]
from #temp
... возвращается:
ID myString myTwoFields
1 This
2 is This is
3 a is a
4 test! a test!
К сожалению, Я не могу создать UDF на этом сервере. Поэтому SE Data Explorer является репрезентативным местом для тестирования:
? См. этот запрос на SEDE, или вы можете щелкнуть здесь, чтобы раскошелиться для тестирования.
Мысли? Спасибо!