sql 合并具有相同日期的行

sql combine rows with same date

我想合并具有相同日期和项目# 的行,同时汇总收到的数量和未结数量。此外,PO# 应与“,”组合。

请参考下图或table。 提前致谢!!

这是我的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

日期 ITEMNO PONUMBER LOCATION 未收到

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

日期 ITEMNO PONUMBER LOCATION 未收到

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

参考这张图片:

您可以尝试使用 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]