Sql server 比较两年销售额的查询

Sql server 比较两年销售额的查询,sql-server,tsql,Sql Server,Tsql,我在SQL Server中有一个包含以下列的表: 年 月 产品 数量 例如: Year Month Product Qty 2011 1 XYZQW 45 所以在这个表中存储了所有的产品销售 我需要生成一个查询,以比较一年和上一年,以生成此报告: Year GEN FEB MAR APR MAY GIU JUL AUG SEP OCT NOV DEC ------------------------------------------------------

我在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

有一种方法可以在不创建临时表的情况下执行此操作?

这很简单,请尝试以下操作:

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
它被称为枢轴。在这里了解它。