Foxtable(狐表)用户栏目专家坐堂 → 关于SQL语句中GROUP BY 用法请教


  共有1760人关注过本帖树形打印复制链接

主题:关于SQL语句中GROUP BY 用法请教

帅哥哟,离线,有人找我吗?
ap9709130
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
关于SQL语句中GROUP BY 用法请教  发帖心情 Post By:2017/12/21 15:09:00 [只看该作者]

我的表中有三列,_Identify ,仓库,提货人
_Identify      仓库       提货人
1                a仓库       李
2                a仓库        李
3                b仓库       陈

我想生成一张表,是用仓库分组的,要求效果是这样,SQL语句要怎么写?

仓库           提货人           DW
a仓库          李                 1,2
b仓库         陈                   3


请老师指点.多谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/21 15:21:00 [只看该作者]

如果是sqlserver,参考

 

http://blog.csdn.net/rolamao/article/details/7745972

 


 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/12/21 17:15:00 [只看该作者]

老师,

通过你的资料研究我的SQL语句如下:

S ele ct 仓库, 
STUFF(
     ( 
      S ele ct ','+ 提货人 FROM (s ele ct [仓库],[提货人] from {订单主表}) a WHERE b.仓库 = a.仓库 FOR XML PATH('')
     ),1 ,1, '') 提货人 
FROM (se le ct [仓库],[提货人] from {订单主表}) b 

G ROUP BY 仓库


这个语句没有问题,出来的效果如下:
仓库           提货人 
a 仓库       李
b 仓库       陈

但是,怎么才有再加一列?搞不出来

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/21 17:29:00 [只看该作者]

 

select 仓库, 提货人 = (stuff((select ',' + 提货人 from 订单主表 where 仓库 = a.仓库 for xml path('')),1,1,'')) from 订单主表 a group by 仓库 

 

select 仓库, 提货人 = (stuff((select ',' + 提货人 from 订单主表 where 仓库 = a.仓库 for xml path('')),1,1,'')), dw = (stuff((select ',' + [_Identify] from 订单主表 where 仓库 = a.仓库 for xml path('')),1,1,'')) from 订单主表 a group by 仓库 



 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/12/22 13:14:00 [只看该作者]

有点甜老师

你的代码出来的效果是这样的
仓库           提货人           DW
a仓库          李,李            1,2
b仓库         陈                   3

提货人那里重复了.


 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/12/22 13:35:00 [只看该作者]

解决了,多谢老师!

 回到顶部