Sql中的累积值

时间:2014-03-08 13:41:54

标签: sql sql-server sql-server-2008

我有一个SQL查询,如下所示。

SELECT     ColumnTitle AS Months,
                      (SELECT     CellContent
                        FROM          Workflow_CustomFormColumnsData AS CD
                        WHERE      (CustomFormColumnId = Workflow_CustomFormColumns.Id) AND (RowNumber = 1)) AS Planned,
                      (SELECT     CellContent
                        FROM          Workflow_CustomFormColumnsData AS CD
                        WHERE      (CustomFormColumnId = Workflow_CustomFormColumns.Id)    AND (RowNumber = 2)) AS Actual
   FROM         Workflow_CustomFormColumns
   WHERE     (CustomFormId = @CustomForm) AND (ColumnNumber <> 1)

我需要第4个和第5个字段,累计值为Planned和Actual。如何继续此查询以实现目标

谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解这个问题,但也许您正在寻找的是按ColumnTitle汇总子查询和分组。

SELECT ColumnTitle AS Months,
       SUM(SELECT CellContent
           FROM Workflow_CustomFormColumnsData AS CD
           WHERE (CustomFormColumnId = Workflow_CustomFormColumns.Id) 
             AND (RowNumber = 1)) +
       SUM(SELECT CellContent
           FROM Workflow_CustomFormColumnsData AS CD
           WHERE (CustomFormColumnId = Workflow_CustomFormColumns.Id)
             AND (RowNumber = 2))
FROM Workflow_CustomFormColumns
WHERE (CustomFormId = @CustomForm) AND (ColumnNumber <> 1)
GROUP BY ColumnTitle