请查找附加的表格,我试图生成。查询的输出返回“现有表”中指定的数据。我正在试图生成所需的表中的表。到目前为止,不会有任何成功。正如您在图中看到的那样,该列会被添加到每个州和城市。SQL查询到每个类别的总和列
任何想法如何做到这一点?我正在使用SQL Server 2008 R2。
欣赏帮助。
请查找附加的表格,我试图生成。查询的输出返回“现有表”中指定的数据。我正在试图生成所需的表中的表。到目前为止,不会有任何成功。正如您在图中看到的那样,该列会被添加到每个州和城市。SQL查询到每个类别的总和列
任何想法如何做到这一点?我正在使用SQL Server 2008 R2。
欣赏帮助。
可以使用SUM聚合函数与OVER子句中http://msdn.microsoft.com/en-us/library/ms187810(v=sql.105).aspx
描述按上述页面,下面的代码应与您的询问兼容:
SELECT
[State],
City,
Item,
Cost,
Tax,
SUM(Cost) OVER (PARTITION BY [State], City) AS CumulativeCost,
SUM(Tax) OVER (PARTITION BY [State], City) AS CumulativeTax
FROM -- Replace the below with your table
(
SELECT 'A' AS [State], 'AC' AS [City], 'Item1' AS [Item], 10 AS [Cost], 1 AS Tax UNION
SELECT 'A' AS [State], 'AC' AS [City], 'Item2' AS [Item], 30 AS [Cost], 2 AS Tax UNION
SELECT 'B' AS [State], 'BC' AS [City], 'Item1' AS [Item], 40 AS [Cost], 1 AS Tax UNION
SELECT 'B' AS [State], 'BC' AS [City], 'Item2' AS [Item], 10 AS [Cost], 1 AS Tax
) t
ROLLUP的伎俩。这是我提到的链接。
http://technet.microsoft.com/en-us/library/ms189305%28v=sql.90%29.aspx
我想你忘了附上的表格,采样数据,预期的结果,查询等 – Taryn 2015-01-15 16:07:58
谢谢你通知我。我只是用表格图像更新了这篇文章。 – bp581 2015-01-15 16:23:21
在SQL Server @ bp581中使用** ROLLUP **函数 – 2015-01-15 16:44:58