Начиная с SQL Server 2017, вы можете использовать STRING_AGG
для агрегирования строк в предложении SELECT
оператора GROUP BY
:
declare @tmp table ([ID] int, Weeks varchar(50), Hoursofoperation varchar(50))
insert into @tmp values
(112, 'W' ,'7-7')
,(112, 'T' ,'8-6')
,(112, 'Th' ,'8-6')
,(112, 'Sa' ,'9-1')
,(112, 'M' ,'9-6')
,(112, 'F' ,'9-6')
select [ID], string_agg(res,',') as RESULT from (
select [ID], string_agg(weeks,'') + ' ' + Hoursofoperation as res
from @tmp
group by [ID], Hoursofoperation
) t
group by [ID]
Результат:
![enter image description here](https://i.stack.imgur.com/vFGqx.png)