У меня такой запрос:
SET @tableHTML =
N'<table border="1">' +
N'<tr><th>Data i godzina</th><th>Pozycja</th><th>Lokalizacja</th>' +
N'<th>Jednostka</th><th>Ilość</th><th>Zamawiający</th>' +
N'<th>Dostępne na</th>' +
CAST ( ( SELECT
td = CONVERT(smalldatetime, ars.scan_date), '',
td = ars.item, '',
td = ars.loc, '',
td = ars.order_unit, '',
td = ars.qty, '',
td = ars.requesting_user, '',
--here is the problem
td = COALESCE((SELECT DISTINCT itl.loc FROM itemloc JOIN ANP_ResupplyStock AS ars ON itl.item = ars.item),','), ''
--end problem
FROM
dbo.ANP_ResupplyStock as ars
inner join itemloc as itl on ars.item = itl.item
WHERE
requesting_user = dbo.ANP_SplitParameters(@params, ',', 1)
AND device_id = dbo.ANP_SplitParameters(@params, ',', 2)
--AND sent_logistics = 0
AND sent_purchasing = 0
AND itl.qty_on_hand <= 0
ORDER BY scan_date
FOR XML PATH('tr'), TYPE
) AS NVARCHAR(MAX) ) +
N'</table>' ;
Результирующий набор выглядит так:
Data i godzina Pozycja Lokalizacja Jednostka Ilość Zamawiający Dostępne na
2018-08-31T16:25:00 G353K1120XA0000 ll Pudelko 9 1613 QCS
2018-08-31T16:25:00 G353K1120XA0000 ll Pudelko 9 1613 REK
2018-08-31T16:25:00 G353K1120XA0000 ll Pudelko 9 1613 WGVS1
Как видите, отличается только последний столбец. Я хотел бы, чтобы этот запрос возвращал одну строку со всеми элементами из последнего столбца, перечисленными как одно поле. Я попробовал это с коалесцией, без нее, но я не могу заставить ее работать. Что еще я могу попробовать?