关联两表按类别汇总预估与实际成本的SQL查询及视图需求
没问题,我来帮你搞定这个按分类汇总预估和实际成本的需求!
首先,我们需要关联两张表,按Category分组计算总和。这里要注意一个细节:有些任务可能只有预估成本还没有实际成本,所以用LEFT JOIN能确保所有分类都被保留,没有实际成本的分类会显示实际总和为0(用COALESCE处理NULL值)。
基础SQL查询语句
SELECT t1.Category, SUM(t1.Estimated_Cost) AS Total_Estimated_Cost, COALESCE(SUM(t2.Actual_Cost), 0) AS Total_Actual_Cost FROM Table1 t1 LEFT JOIN Table2 t2 ON t1.Task = t2.Task GROUP BY t1.Category ORDER BY t1.Category;
创建视图的语句
如果需要经常使用这个汇总结果,创建视图会更方便:
CREATE VIEW CategoryCostSummary AS SELECT t1.Category, SUM(t1.Estimated_Cost) AS Total_Estimated_Cost, COALESCE(SUM(t2.Actual_Cost), 0) AS Total_Actual_Cost FROM Table1 t1 LEFT JOIN Table2 t2 ON t1.Task = t2.Task GROUP BY t1.Category ORDER BY t1.Category;
一些补充说明
- 如果你的
Table2里实际成本的字段名不是Actual_Cost,记得替换成你实际的字段名称; - 要是你只需要统计那些既有预估又有实际成本的分类,把
LEFT JOIN改成INNER JOIN就行,这样会自动过滤掉没有实际成本的分类; - 视图创建好之后,直接查询视图就能得到结果:
SELECT * FROM CategoryCostSummary;
内容的提问来源于stack exchange,提问作者Ram Prasad
相关产品推荐
相关产品推荐

