以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  SQL分组查询后将其他列合并一起的写法?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=111572)

--  作者:happyft
--  发布时间:2017/12/25 12:13:00
--  SQL分组查询后将其他列合并一起的写法?

图片点击可在新窗口打开查看此主题相关图片如下:分组查询.jpg
图片点击可在新窗口打开查看

如图,将上面表中的数据按产品编码,需求日期分组查询后,
se lect 产品编码,需求日期,sum(需求数量) as 需求数量 from 表A group by 产品编码,需求日期

如何将上面每行的订单编号按产品编码及需求日期相同则合并在一列中显示,中间用,分隔 显示成下面那个表那样
这样的sql语句要如何写?

谢谢!

--  作者:有点甜
--  发布时间:2017/12/25 12:25:00
--  

参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=111417&skin=0

 


--  作者:HappyFt
--  发布时间:2017/12/25 15:52:00
--  
谢谢,查询语句如下
SE LECT 产品编码,
    需求日期,
    订单编号 = (STUFF(
            (
                SE LECT \',\' + 订单编号
                FROM MPS01_1
                WHERE 产品编码 = a.产品编码
                      AND 需求日期 = a.需求日期
                FOR XML PATH(\'\')
            ),
                     1,
                     1,
                     \'\'
                 )
           )
FROM MPS01_1 a
GROUP BY 产品编码,
    需求日期
ORDER BY 产品编码,
    需求日期;

那多个订单编号中间有段很长的空格要如何才能去掉,

图片点击可在新窗口打开查看此主题相关图片如下:分组查询2.jpg
图片点击可在新窗口打开查看

如:  JL2017041101                    ,JL2017041101
让它显示为:JL2017041101,JL2017041101
                       

--  作者:有点甜
--  发布时间:2017/12/25 16:07:00
--  
订单编号 改成 LTrim(RTrim(订单编号))