Соединение двух таблиц с внешним ключом - SQL - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь объединить данные и две таблицы, имеющие общий внешний ключ. Я хочу отобразить 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 голосов
/ 10 марта 2020

Я думаю, вам нужно агрегировать до JOIN ing:

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 синтаксис.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...