3

A.BUSINESS_UNIT_PO、A.PO_ID、A.LINE_NBRの2つのテーブル間の数量の合計を比較しようとしています。以下のクエリは私には機能しません。このクエリの問題を教えてもらえますか?

SELECT A.BUSINESS_UNIT_PO,
       A.PO_ID, 
       A.LINE_NBR 
 FROM PS_BCT_DTL A
WHERE A.BCT_DET_STATUS=1
  AND SUM(A.QTY) = (SELECT SUM(B.QTY_SH_RECVD) 
                     FROM PS_RECV_LN_SHIP B
                    WHERE A.BUSINESS_UNIT_PO=B.BUSINESS_UNIT_PO
                      AND A.PO_ID= B.PO_ID
                      AND A.LINE_NBR= B.LINE_NBR
                     )
GROUP BY A.BUSINESS_UNIT_PO,A.PO_ID, A.LINE_NBR
4

2 に答える 2

5

having以下のように使用してみてください。

SELECT A.BUSINESS_UNIT_PO,
       A.PO_ID, 
       A.LINE_NBR,
       SUM(A.QTY) 
FROM PS_BCT_DTL A
WHERE A.BCT_DET_STATUS=1    
GROUP BY A.BUSINESS_UNIT_PO,A.PO_ID, A.LINE_NBR
having SUM(A.QTY) =(SELECT SUM(B.QTY_SH_RECVD) 
                 FROM PS_RECV_LN_SHIP B
                 WHERE A.BUSINESS_UNIT_PO=B.BUSINESS_UNIT_PO
                 AND A.PO_ID= B.PO_ID
                 AND A.LINE_NBR= B.LINE_NBR)

ここに持っていることについてのより多くの情報があります。

于 2012-10-03T18:00:35.133 に答える
2
select
  A.BUSINESS_UNIT_PO,A.PO_ID,A.LINE_NBR,
  sum(a.qty) sumA,
  sum(b.qty) sumB
from
  a inner join
  b on 
   A.BUSINESS_UNIT_PO=B.BUSINESS_UNIT_PO AND 
   A.PO_ID= B.PO_ID  AND 
   A.LINE_NBR= B.LINE_NBR
group by
 A.BUSINESS_UNIT_PO,A.PO_ID,A.LINE_NBR
having
  sum(a.qty) = sum(b.qty);
于 2012-10-03T18:12:27.553 に答える