SQL объединить строки с той же датой - PullRequest
0 голосов
/ 29 октября 2018

Я хочу объединить строки, когда они имеют одинаковую дату и номер позиции, при агрегировании полученных QTY и Outstanding QTY. Также, PO # должен сочетаться с «,«.

Пожалуйста, обратитесь к изображению или таблице ниже. Заранее спасибо !!

Это мой SQL-запрос ...

SELECT * 
from [mason01].[dbo].[po_east] as t1
inner join (select distinct [Date],[ITEMNO],[PONUMBER],[LOCATION],[Received],[Outstanding]
  FROM [mason01].[dbo].[po_east] group by [Date], [ITEMNO],[PONUMBER],[LOCATION],[Received],[Outstanding]) as t2
  on t1.Date=t2.Date and t1.ITEMNO=t2.ITEMNO

Дата ПУНКТ ПУНКТА ПУНКТА ПОЛУЧЕНО В НАЛИЧИИ

4/22/2018 MA1005 SON18497 SF 50 50
22.04.2008 MA1005 SON18562 SF 300 0

Дата ПУНКТ ПУНКТА ПУНКТА ПОЛУЧЕНО В НАЛИЧИИ

4/22/2018 MA1005 SON18497, SON18562 SF 350 50

См. Это изображение:

Refer to this image

1 Ответ

0 голосов
/ 29 октября 2018

Вы можете попробовать использовать функцию stuff ()

SELECT
      [Date],[ITEMNO],[LOCATION],sum([Received]) as [Received] ,sum([Outstanding]) as [Outstanding]
      ,ponum = STUFF((
          SELECT ',' + b.[PONUMBER]
          FROM [mason01].[dbo].[po_east] b
          WHERE a.[Date] = b.[Date] and a.[ITEMNO]=b.[ITEMNO]
          FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
FROM [mason01].[dbo].[po_east] a
group by [Date],[ITEMNO],[LOCATION]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...