Мне удалось получить желаемый результат ниже, используя subquery
.Я предположил, что вы хотели сохранить Wk как часть группировки.
if OBJECT_ID('tempdb..#temp') is not null
drop table #temp
CREATE TABLE #temp (
Wk int,
RunOrder int,
JobNumber int,
ModelNo VARCHAR(10),
ItemTag VARCHAR(5)
)
insert into #temp values(23,28,1234,'abcd',1)
insert into #temp values(12,28,1234,'abcd',2)
insert into #temp values(23,28,1234,'abcd',3)
insert into #temp values(12,28,1234,'abcd',4)
select distinct Wk,RunOrder,JobNumber,ModelNo,
SUBSTRING(
(
SELECT ','+t1.ItemTag AS [text()]
FROM #temp t1
WHERE t1.Wk = t2.Wk and t1.RunOrder=t2.RunOrder and t1.JobNumber=t2.JobNumber and t1.ModelNo=t2.ModelNo
ORDER BY t1.Wk
FOR XML PATH ('')
), 2, 1000) t
from #temp t2
Другое решение, которое вы могли бы сделать, это использовать derived table
.