【发布时间】:2017-09-01 22:32:08
【问题描述】:
我有以下疑问...
SELECT a.countryRegion, a.Stateprovince, SUM (soh.TotalDue) AS revenue,
CASE
WHEN GROUPING_ID(a.countryregion,a.stateprovince) = 0 THEN 'State/Province'
WHEN GROUPING_ID(a.countryregion,a.stateprovince) = 3 THEN 'Total'
WHEN GROUPING_ID(a.countryregion,a.stateprovince) = 1 THEN 'Country Total'
ELSE N'unknown'
END AS 'Level'
FROM saleslt.address AS a
JOIN saleslt.customeraddress AS ca
ON a.addressID = ca.addressID
JOIN saleslt.customer AS c
ON ca.customerID = c.customerID
JOIN salesLT.salesorderheader as soh
ON c.customerID = soh.customerID
GROUP BY ROLLUP(a.countryregion, a.stateprovince)
ORDER BY a.countryregion,a.stateprovince;
例如,如何让 Country 行包含值“United States Subtotal”,以及 state/province 行包含值“California Subtotal”?
该表包括大约 8 个不同的州/省和多个国家/地区。
【问题讨论】:
标签: tsql sql-server-2012