【发布时间】:2020-11-18 12:35:52
【问题描述】:
我有 3 张桌子,如下所示。我需要做的是在将第一个表与第二个表和第二个表与第三个表左连接后创建一个摘要。
我使用的代码最终导致了笛卡尔连接。我创建第一个表(人)的查询很复杂且资源密集,而表 2(购物清单)的数据量很大,因此嵌套查询并不理想。下面是我现在正在使用的代码以及预期的输出(图 1)和我得到的(图 2)
select
a.ID,
a.Name,
sum(b.cost) total_cost,
sum(c.discount_amount) total_discount
from
person a,
left join shopping_list b on a.id=b.id
left join discount c on b.item = c.item
group by
a.ID,
a.Name
我查看了以下链接,但我希望有一个解决方案可以更好地考虑我的数据集的大小
https://dba.stackexchange.com/questions/217220/how-i-use-multiple-sum-with-multiple-left-joins
提前感谢您的帮助
【问题讨论】:
标签: sql