У меня есть таблица данных:Как объединить строки данных в T-SQL
|Key|Field |DateField |
|A |Value1|2012-06-01|
|A |Value2|2012-06-02|
|A |Value3|2012-06-03|
|B |Value4|2012-06-04|
|B |Value5|2012-06-05|
Я хочу, чтобы объединить эту строку данных по ключевым - как в группе, но я не могу работать, как. То, что я хочу, чтобы в конечном итоге это:
|Key|Field Aggregate |
|A |Value1, Value2, Value3|
|B |Value4, Value5 |
еще лучше было бы, чтобы в конечном итоге с позиции последовательности, вставленной в агрегацию, где порядок последовательности определяется порядком соответствующего поля даты.
|Key|Field Aggregate |
|A |1: Value1, 2: Value2, 3: Value3|
|B |1: Value4, 2: Value5 |
Это похоже на то, я мог бы сделать с общей таблицы выражения, но я, кажется, не быть в состоянии работать как.
Я бы обычно не выполнял такую операцию в SQL - я бы обычно извлекал данные в приложение и манипулировал им по мере необходимости в коде.
К сожалению, это не похоже на вариант в этом случае.
Как это сделать в SQL Server 2005 T-SQL.
Является ли CTE правильным подходом? Есть ли что-то более подходящее?
Как вы определяете последовательность? Является ли это алфавитом в поле «Поле», или есть другой столбец, который мы не можем видеть, который диктует порядок? –
Хороший вопрос, обновили вопрос, чтобы уточнить. –