我是 SQL 新手,所以在尝试了很多之后,我找不到合适的解决方案 在 Stackoverflow 上。这就是我发布问题的原因。[可能是重复的 问题]
我有 2 个表 T1 和 T2。 结构如下:
Tables:
T1:
Task Category Estimated_Cost
1 9100 100
2 9100 15
3 9100 6
4 9200 8
5 9200 11
T2:
Voucher Task Actual_Cost
1 1 10
2 1 20
3 1 15
4 2 32
5 4 8
6 5 3
7 5 4
我想要的结果是:
Category Estimated_Cost Actual_Cost
9100 121 77
9200 19 15
为此使用哪个查询?
最佳答案
嗯。 。 。这是一种方法:
select category, sum(estimated_cost) as estimated_cost, sum(actual_cost) as actual_cost
from ((select t1.category, t1.estimated_cost, 0 as actual_cost
from t1
) union all
(select t1.category, 0, t2.actual_cost
from t2 join
t1
on t1.task = t2.task
)
) cc
group by category;
关于sql - 根据其他表中使用的外键访问表中的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52322209/