2016-10-07 3 views
-1

У меня есть следующая таблицаСоединить колонны с T-SQL

enter image description here

Мне нужно написать группировку запросов с помощью кода, DateCod, номер и NumberOfBeds.

Для окнеИМЯстолбец мне нужно сцепить имена, те же действия для столбца бронирования и для столбца Num мне нужно просуммировать

Результат должен быть следующим

enter image description here

Я пытаюсь FOR XML PATH(''), но я не могу найти решение. Может ли кто-нибудь предложить мне способ сделать это?

С наилучшими пожеланиями и спасибо много Fab

+1

Для XML PATH это правильный путь, вы можете показать нам, что вы пробовали? – Robb

ответ

1

Вы можете использовать STUFF с FOR XML PATH('') для достижения этой цели.

Запрос

select 
    t.[Code], 
    t.[DateCod], 
    t.[Room], 
    t.[NrBeds], 
    stuff((select ',' + t.[Name] 
    from [your_table_name] t1 
    where t1.[Code] = t.[Code] 
    for xml path, type).value('.[1]', 'nvarchar(max)'), 1, 1, '') as [Name], 
    stuff((select ',' + t.[Booking] 
    from [your_table_name] t1 
    where t1.[Code] = t.[Code] 
    for xml path, type).value('.[1]', 'nvarchar(max)'), 1, 1, '') as [Booking], 
    sum(t.Num) as [Num] 
from [your_table_name] t 
group by t.[Code], t.[DateCod], t.[Room], t.[NrBeds]; 
Смежные вопросы