Я работаю над требованием, которое имеет данные «Часы работы», как показано ниже:
![enter image description here](https://i.stack.imgur.com/VAZqX.png)
Данные здесь должны отображаться в по-другому. Значение: я пытаюсь объединить часы работы в днях и часы открытия / закрытия. Мой ожидаемый результат:
![enter image description here](https://i.stack.imgur.com/q0JSo.png)
Возможно ли достичь этого набора результатов? Я создал временную таблицу с этими данными в приведенной ниже ссылке rextester
.
https://rextester.com/EMF48033
Код:
select programid,
concat(max(case when [order] = 1 then day end),' ','-',' ', max(case when [order] = max_order then day end)) as day,
times
from (select programid, day, [order], max([order]) over (partition by programid) as max_order,
STUFF((SELECT ',' + concat([open], ' ','-',' ', [close]) FOR XML PATH ('')), 1, 1, '') as times
from #temp
group by programid, day, [order],[open], [close]
) pd
group by programid, times
order by times desc