[英]Adding a total row in SQL Server 2005?
我有一個創建報告的腳本,但是我需要底部的總行。
在 SQL Server 2008 中,我想我會使用匯總,但我不知道如何在 SQL Server 2005 中執行此操作。
USE FEN
GO
SELECT
PMC.Store_ID,
PMC.Name,
SUM (PMC.[Net Sales] / 1000) AS 'Daily Sales',
SUM (PMCLY.[Net Sale LY] / 1000) AS 'Daily Sales LY',
CAST(100.0*(PMC.[Net Sales] - PMCLY.[Net Sale LY]) / PMCLY.[Net Sale LY] AS Decimal (10,2)) AS 'VAR % Vs LY',
SUM (PMCW.[Net Sales Week] / 1000) AS 'Daily Sales Week',
SUM (PMCLYW.[Net Sale Week LY] /1000) AS 'Daily Sales Week LY',
CAST(100.0*(PMCW.[Net Sales Week] - PMCLYW.[Net Sale Week LY]) / PMCLYW.[Net Sale Week LY] AS Decimal (10,2)) AS 'VAR % Vs LY'
FROM PMC_DailySalesReport AS pmc
JOIN PMC_DailySalesReportLY as pmcly on pmcly.Store_ID = pmc.Store_ID
JOIN PMC_DailySalesReportWeek as PMCW on pmcw.Store_ID = pmc.Store_ID
JOIN PMC_DailySalesReportLYWeek AS PMCLYW on PMCLYW.Store_ID = PMC.Store_ID
GROUP BY
PMC.Store_ID,
PMC.Name,
PMC.[Net Sales],
PMCLY.[Net Sale LY],
PMCLYW.[Net Sale Week LY],
PMCW.[Net Sales Week]
go
目的是將來自 StoreID 和 Store Name 的所有列的總數添加到表的底部
有任何想法嗎?
我希望您可以添加一個UNION ALL
來選擇包含沒有任何分組的聚合的行,這應該為您提供所有行的數字:
-- your query above, and then:
UNION ALL
SELECT
'All' As Store_ID,
'All' As Name,
SUM (PMC.[Net Sales] / 1000) AS 'Daily Sales',
SUM (PMCLY.[Net Sale LY] / 1000) AS 'Daily Sales LY',
CAST(100.0*(PMC.[Net Sales] - PMCLY.[Net Sale LY]) / PMCLY.[Net Sale LY] AS Decimal (10,2)) AS 'VAR % Vs LY',
SUM (PMCW.[Net Sales Week] / 1000) AS 'Daily Sales Week',
SUM (PMCLYW.[Net Sale Week LY] /1000) AS 'Daily Sales Week LY',
CAST(100.0*(PMCW.[Net Sales Week] - PMCLYW.[Net Sale Week LY]) / PMCLYW.[Net Sale Week LY] AS Decimal (10,2)) AS 'VAR % Vs LY'
FROM PMC_DailySalesReport AS pmc
JOIN PMC_DailySalesReportLY as pmcly on pmcly.Store_ID = pmc.Store_ID
JOIN PMC_DailySalesReportWeek as PMCW on pmcw.Store_ID = pmc.Store_ID
JOIN PMC_DailySalesReportLYWeek AS PMCLYW on PMCLYW.Store_ID = PMC.Store_ID
考慮到在主查詢中您有一些額外的 group by 字段,這些字段實際上並未直接出現在選擇中,因此它可能並不那么簡單,但這是總體思路。 如果沒有看到架構、示例數據和預期輸出,就很難更精確(因為不可能測試查詢)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.