我想,制得了我的表的总结报告 -SQL服务器 - TSQL查询语句
Table name : Order
Fields Name : Orderdate,Repname,Storename,salesamount
输出:
Store Name Jan Feb Mar .... Dec Total
ABC 50 10 20 ..... 80
XYZ 30 NULL 20 50
我想,制得了我的表的总结报告 -SQL服务器 - TSQL查询语句
Table name : Order
Fields Name : Orderdate,Repname,Storename,salesamount
输出:
Store Name Jan Feb Mar .... Dec Total
ABC 50 10 20 ..... 80
XYZ 30 NULL 20 50
您可以使用SQL Server的PIVOT功能来做到这一点。或者,您可以在报表中使用具有大小写的集合
简化示例使用具有case when语句的聚合的SQL示例(请注意,下面的SQL有一个错误,它会将2015年1月和2016年1月的销售额合计在一起,数据,它只是在那里展示如何实现结果的概念)
SELECT
StoreName,
SUM(CASE WHEN MONTH(Orderdate) = 1 THEN salesamount ELSE NULL END) as Jan,
SUM(CASE WHEN MONTH(Orderdate) = 2 THEN salesamount ELSE NULL END) as Feb,
.
.
.
SUM(CASE WHEN MONTH(Orderdate) = 12 THEN salesamount ELSE NULL END) as Dec,
SUM(salesamount) as Total
FROM
Order
GROUP BY
StoreName
谢谢....其工作正常 –
很高兴听到它解决您的问题。请务必将答案标记为已接受,以便其他人知道 –
这是一个很好的开始。 http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ –
感谢分享有价值的信息 –