2014-02-07 2 views
0

У меня есть одна таблица с несколькими дублирующимися записями, каждая строка содержит один столбец.Я хочу объединить записи в одной таблице

например.

Field-A Field-B Field-C

а а Фред

а а Гарри

Защита сЬа Bert

Защита WxY Дэвид

Защиту WxY Питер

def wxy Larry

Я хочу перебить эту таблицу в T-SQL (хранимая процедура SQL Server 2005), чтобы там, где столбцы Field-A и Field-B одинаковы для двух или более строк, результирующая таблица будет иметь одну строку с полем -C как слияние других.

Таким образом, для приведенного выше примера результирующей таблицы будет ..

поле-А-В поле Поле-С

а а Фред, Гарри

Защиту сЬа Bert

def wxy David, Peter, Larry

Есть ли способ, которым это можно сделать?

ответ

1
SELECT DISTINCT 
Field-A, 
Field-B, 
(SELECT Field-C + ',' from yourtable y WHERE y.Field-A=x.Field-A and y.Field-B=x.Field-B FOR XML PATH('')) 
FROM yourtable x 
+0

Спасибо, ты гений. Я написал короткий тестовый запрос, чтобы проверить ваш ответ, и он работает. Очень признателен. Теперь примените его к конечному продукту ... Ура! –

Смежные вопросы