我想在A.BUSINESS_UNIT_PO,A.PO_ID,A.LINE_NBR上比较两个表之间的数量总和。以下查询对我不起作用。你们中的任何人都可以告诉我这个问题中的问题。
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
答案 0 :(得分:4)
尝试使用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)
Here是关于拥有的更多信息。
答案 1 :(得分: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);