Sql server 2008 如何在SQLServer2008中获得上月销售和本月销售

Sql server 2008 如何在SQLServer2008中获得上月销售和本月销售,sql-server-2008,pivot-table,Sql Server 2008,Pivot Table,如何在SQLServer2008中获得上月销售和本月销售 我的表格结构如下: DailyDispatchID int Unchecked Name varchar(50) Checked Qty int Checked Month varchar(50) Checked 我试过这个: SELECT * FROM (SELECT Name, Gas, Qty, Month F

如何在SQLServer2008中获得上月销售和本月销售 我的表格结构如下:

DailyDispatchID int Unchecked 
Name    varchar(50) Checked
Qty int Checked
Month   varchar(50) Checked
我试过这个:

SELECT *
FROM   (SELECT Name,
               Gas,
               Qty,
               Month
        FROM   DailyDispatch) AS s
       PIVOT (Sum(QTY)
             FOR [month] IN(aug,
                            sep)) AS P 

我得到了输出,但它只从8月和9月每月采取。它将自动生成本月和以前的销售额。如何排序。,

您需要根据当前月份和上个月设置in子句中的参数,然后您需要在FOR条件中使用当前和上个月的名称。我必须在同一列中显示,我们是否可以在tihs表中使用pivot。@Sarvan我无法将代码粘贴到此处,出现错误,如提交答案时出错。你能创建sqlfiddleno我如何在报告中使用,我在结果中获得select qery。如何设置参数并传递给rdlc
SELECT Name,
       Gas,
       Qty,
       [Month]
FROM   DailyDispatch
WHERE  [Month] IN (SELECT CASE
                            WHEN Month(Getdate()) = 1 THEN 'jan'
                            WHEN Month(Getdate()) = 2 THEN 'feb'
                            WHEN Month(Getdate()) = 3 THEN 'mar'
                            WHEN Month(Getdate()) = 4 THEN 'apr'
                            WHEN Month(Getdate()) = 5 THEN 'may'
                            WHEN Month(Getdate()) = 6 THEN 'jun'
                            WHEN Month(Getdate()) = 7 THEN 'jul'
                            WHEN Month(Getdate()) = 8 THEN 'aug'
                            WHEN Month(Getdate()) = 9 THEN 'sep'
                            WHEN Month(Getdate()) = 10 THEN 'oct'
                            WHEN Month(Getdate()) = 11 THEN 'nov'
                            WHEN Month(Getdate()) = 12 THEN 'dec'
                          END [month]
                   UNION ALL
                   SELECT CASE
                            WHEN Month(Dateadd(mm, -1, Getdate())) = 1 THEN 'jan'
                            WHEN Month(Dateadd(mm, -1, Getdate())) = 2 THEN 'feb'
                            WHEN Month(Dateadd(mm, -1, Getdate())) = 3 THEN 'mar'
                            WHEN Month(Dateadd(mm, -1, Getdate())) = 4 THEN 'apr'
                            WHEN Month(Dateadd(mm, -1, Getdate())) = 5 THEN 'may'
                            WHEN Month(Dateadd(mm, -1, Getdate())) = 6 THEN 'jun'
                            WHEN Month(Dateadd(mm, -1, Getdate())) = 7 THEN 'jul'
                            WHEN Month(Dateadd(mm, -1, Getdate())) = 8 THEN 'aug'
                            WHEN Month(Dateadd(mm, -1, Getdate())) = 9 THEN 'sep'
                            WHEN Month(Dateadd(mm, -1, Getdate())) = 10 THEN 'oct'
                            WHEN Month(Dateadd(mm, -1, Getdate())) = 11 THEN 'nov'
                            WHEN Month(Dateadd(mm, -1, Getdate())) = 12 THEN 'dec'
                          END [month])