其任务是编制一份摘要,其中包括每个国家进口和出口货物的价值总额。请注意,当一家公司购买某些商品时,它对其国家的总进口额做出了贡献;当该公司出售一些货物时,它对其国家的总出口做出了贡献。
编写由三列组成的返回表SQL查询: country、export、import,其中包含每个国家的进出口货物的值之和。每个国家都应出现在本表中,结果应越来越多地按国家进行排序。
两张表格如下:

查询应返回:

假设:
在一个国家内,没有公司之间的贸易。companies.
我尝试过以下查询,但它没有返回正确的结果,如上面所示。
SELECT cd.country, SUM(exports.value) AS export, SUM(imports.value) AS import
FROM companies cd
LEFT JOIN trades exports
ON cd.country= exports.seller
LEFT JOIN trades imports
ON cd.country = imports.buyer
GROUP BY cd.country
ORDER BY cd.country发布于 2022-07-05 13:25:44
一个简单的解决方案是分别计算出口和进口,并将它们组合起来:
select country, min(export) as export, min(import) as import
from (
select companies.country, sum(value) as export, null as import
from trades
join companies on trades.seller = companies.name
group by companies.country
union all
select companies.country, null, sum(value)
from trades
join companies on trades.buyer = companies.name
group by companies.country
) as x
group by countryhttps://stackoverflow.com/questions/72869962
复制相似问题