Oracle SQL Результаты дублируются с объединением - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь использовать следующий код:

SELECT a.part_no,
       sum(a.BUY_QTY_DUE) AS Tot_Ord,
       sum(b.REVISED_QTY_DUE) AS S_O_Tot
FROM CUSTOMER_ORDER_JOIN a
LEFT OUTER JOIN SHOP_ORD b ON a.part_no= b.part_no
AND b.contract = '20'
AND b.state = 'Planned'
WHERE a.PART_NO = '10002261'
  AND a.OBJSTATE = 'Released'
  AND a.CONTRACT = '10'
GROUP BY a.part_no

Однако я вижу дублированные результаты, я знаю, что это связано с объединением, но не знаю, как исправить :( Results

Я ожидаю увидеть следующие результаты:

Tot_Ord = 277
(6 экземпляров по 23, 3 случая по 46, 1 случай по 1) Всего 10 строк

S_O_Tot = 46
(2 случая по 23) Всего 2 строки

Любая помощь будет принята с благодарностью,

Спасибо,

Джейми

1 Ответ

0 голосов
/ 21 ноября 2018
SELECT a.part_no,
sum(a.BUY_QTY_DUE) AS Tot_Ord,
sum(nvl(b.REVISED_QTY_DUE,0)) AS S_O_Tot
FROM CUSTOMER_ORDER_JOIN a
LEFT OUTER JOIN SHOP_ORD b ON (a.part_no= b.part_no
AND b.contract = '20'
AND b.state = 'Planned')
WHERE a.PART_NO = '10002261'
AND a.OBJSTATE = 'Released'
AND a.CONTRACT = '10'

Я удалил группировку, потому что вы все равно фильтруете этот файл

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