質問を正しく定式化できないと思うので、SQLの問題が発生します。次のクエリを実行します。
SELECT P.ORDER_NO, P.LINE_NO, P.RELEASE_NO, SUM(P.BUY_QTY_DUE)
FROM PURCHASE_ORDER_LINE_ALL P
WHERE P.CONTRACT='APC32' AND P.PART_NO='900-0089' AND ORDER_NO='38288'
GROUP BY P.ORDER_NO, P.LINE_NO, P.RELEASE_NO;
結果は次のようになります。
ORDER_NO LINE_NO RELEASE_NO SUM(P.BUY_QTY_DUE)
38288 1 1 140
2 番目のクエリは次のとおりです。
SELECT R.ORDER_NO, R.LINE_NO, R.RELEASE_NO, SUM(R.INV_QTY_ARRIVED)
FROM PURCHASE_RECEIPT_NEW R
WHERE R.ORDER_NO='38288' AND R.LINE_NO='1' AND R.RELEASE_NO='1'
GROUP BY R.ORDER_NO, R.LINE_NO, R.RELEASE_NO;
そして結果:
ORDER_NO LINE_NO RELEASE_NO SUM(R.INV_QTY_ARRIVED)
38288 1 1 140
以下を使用すると、結果は明らかに間違っています。次のような結果を得るにはどうすればよいですか。
ORDER_NO LINE_NO RELEASE_NO SUM(P.BUY_QTY_DUE) SUM(R.INV_QTY_ARRIVED)
38288 1 1 140 140
SELECT P.ORDER_NO, P.LINE_NO, P.RELEASE_NO, SUM(P.BUY_QTY_DUE), SUM(R.INV_QTY_ARRIVED)
FROM
PURCHASE_ORDER_LINE_ALL P
LEFT JOIN PURCHASE_RECEIPT_NEW R
ON P.ORDER_NO=R.ORDER_NO AND P.LINE_NO=R.LINE_NO AND P.RELEASE_NO=R.RELEASE_NO
WHERE P.CONTRACT='APC32' AND P.PART_NO='900-0089' AND R.ORDER_NO='38288' AND R.LINE_NO='1' AND R.RELEASE_NO='1'
GROUP BY P.ORDER_NO, P.LINE_NO, P.RELEASE_NO;
間違った結果、次のようなもの:
ORDER_NO LINE_NO RELEASE_NO SUM(P.BUY_QTY_DUE) SUM(R.INV_QTY_ARRIVED)
38288 1 1 420 140