码迷,mamicode.com
首页 > 数据库 > 详细

复杂sql分组查询 ( pivot)

时间:2015-10-18 01:04:26      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

      一个数据表里面字段有年、月、日、金额、支付方式等字段,然后现在想写个sql语句,把每一天的每种支付方式金额(支付方式有多重)排在同一行,

最后在增加一列小计当前的所有支付方式的金额。如下图:

原sql查询出来的结果是这样的:技术分享

-------------------------------------------------------------------------------------------

然后想实现的sql结果最后呈现是这样的:技术分享

 

这可为难了我了,简单的增删改查左右链接sql语句我还会写,这个稍微复杂一点我就不知道如何下手了。该怎么分组,然后把行增加为列呢?

去找度娘搜的时候,都不知道怎么描述自己的想搜的关键字。最后找了一位sql高手同学帮忙解决了这个问题,

人家只是一句简单的sql语句就把我的需求给实现了,实在是让我佩服!这个pivot关键是什么东东,我还第一次看见,从来没用过,这么强大!

sql语句:

SELECT Year,Months,tDays,[711], [BankIn],[iTunesHK] , [711]+[BankIn]+[iTunesHK] as total
FROM ( select * from #temp) AS t
PIVOT
(SUM(amount) FOR [PayType] IN ( [711], [BankIn],[iTunesHK])) AS t;

效果截图如下:

技术分享

 

原文链接:http://www.cnblogs.com/tandaxia/p/4888623.html

复杂sql分组查询 ( pivot)

标签:

原文地址:http://www.cnblogs.com/tandaxia/p/4888623.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!