我正在寻找一些关于如何将结果分组到两个项目(站点和资产)以及显示所有记录的结果的指针。表结构非常简单。
表格
[Sites] ID | SiteName
[SiteAssets] ID | SiteID | AssetName
[SiteAssetCosts] ID | SiteAssetID | CostName | Value
我希望返回一个带有一个SQL语句的表,该语句显示:
SiteName1 | SUM(SiteAssetCost.Value)
AssetName1 | SUM(SiteAssetCost.Value)
CostName1 | [SiteAssetCost.Value]
CostName2 | [SiteAssetCost.Value]
CostName3 | [SiteAssetCost.Value]
AssetName2 | SUM(SiteAssetCost.Value)
CostName1 | [SiteAssetCost.Value]
CostName2 | [SiteAssetCost.Value]
SiteName2 | SUM(SiteAssetCost.Value)
AssetName1 | SUM(SiteAssetCost.Value)
CostName1 | [SiteAssetCost.Value]
CostName2 | [SiteAssetCost.Value]
等等...
答案 0 :(得分:3)
看看这是否符合您的要求:
select s.sitename, sa.assetname, sac.costname, sum(value) as value
from siteassetcosts sac join
siteassets sa
on sac.siteassetid = sa.id join
sites s
on sa.siteid = s.id
group by s.sitename, sa.assetname, sac.costname with rollup;