【问题标题】:Query to compare two year sales查询比较两年的销售额
【发布时间】:2014-01-11 18:20:46
【问题描述】:

我在 SQL Server 中有一个包含这些列的表:

  • 年份
  • 月
  • 产品
  • 数量

例子:

Year   Month  Product  Qty
2011   1      XYZQW     45

所以在这个表中存储了所有产品的销售额。

我需要构建一个查询来比较一年和之前的年份来构建此报告:

Year   GEN FEB MAR APR MAY GIU JUL AUG SEP OCT NOV DEC 
-------------------------------------------------------
2011    12  23  56  54  14  11  15  18  89  87  48  98
2012    19  21  55  50  24  10  19  17  88  81  45  90

有没有办法在不创建临时表的情况下做到这一点?

【问题讨论】:

标签: sql-server tsql


【解决方案1】:

这很简单,试试这个:

WITH DT(AMonth,AYear,AQty)
     AS (SELECT Month, Year, Qty
         FROM YourTable)
SELECT pvt.*
FROM     DT cte
         PIVOT
         (SUM(AQty)
          FOR AYear IN ( [2011],[2012],[2013],[2014] ) ) AS pvt

【讨论】:

    猜你喜欢
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多