我的SQL人正在度假。我知道这很危险。我有桌子,加入后会给我分区域和区域分解的各种位置以及潜在的钱和获取的钱。感兴趣的列是区域/区域/潜在/已实现。大约12个顶级区域和80个区域
我如何查询数据,以便在每次更改区域时获得休息时间,其潜在总数和已实现总数以及每个区域更改时的潜在总数和区域总数?
类似的东西:
Area1 District1 500 200
Area1 District1 200 null
Total Row 700 200
Area1 District2 200 200
Area1 District2 null null
Total Row 200 200
Area Total 900 400
Area2 District3......etc.........
编辑代码。以下是我到目前为止的情况,如果每次AreaID或DistrictID更改时我都可以获得总数,我想我可以得到其余的
DECLARE @FiscalYear INT
SELECT @FiscalYear = 2014
SELECT tblFacilities.FacilityID,
tblAreas.AreaID,
tblFacilities.DistrictID,
tblFacilities.UnitName,
tblDistricts.DistrictName,
tblAreas.AreaName,
TotalSavings = (SELECT TotalSavings FROM ufn_RainbowTCReductionStrategies(tblFacilities.FacilityID, @FiscalYear))
FROM tblFacilities INNER JOIN tblDistricts ON tblFacilities.DistrictID = tblDistricts.DistrictID
INNER JOIN tblAreas ON tblDistricts.AreaID = tblAreas.AreaID
答案 0 :(得分:5)
SELECT
Area,
District,
SUM(Potential),
SUM(Realized)
FROM
table
GROUP BY
Area,
District
WITH ROLLUP;