用外键联接两个表-SQL

时间:2020-03-10 11:55:27

标签: sql database

我正在尝试将仅具有外键的两个数据联接到表中。 我想显示part_number和摘要数量的销售和索赔。

我一直在尝试不同的查询,但是如果它返回值,则值不正确。

select id.part_number, sum(id.quantity) as sales, sum(c.quantity) as claims
from claims as c, invoice_details as id
where c.part_number = id.part_number
group by id.part_number
order by claims DESC

您知道什么地方出了问题吗?

diagram

1 个答案:

答案 0 :(得分:0)

我认为您需要先汇总 JOIN

select id.part_number, id.sales, c.claims
from (select c.part_number, sum(c.quantity) as claims
      from claims c
      group by c.part_number
     ) c join
     (select id.part_number, sum(id.quantity) as sales
      from invoice_details id
      group by id.part_number
     ) id
     on c.part_number = id.part_number
group by id.part_number
order by claims desc;

请注意使用正确的,明确的,标准,可读的JOIN语法。