首页 > 数据库技术 > 详细

复杂sql分组查询 ( pivot)

时间:2015-10-18 01:01:17      阅读:398      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!