2012-10-03 2 views
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

시도는 다음과 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이 문제에 대해 더 많은 정보를합니다.

+0

대단히 감사합니다. 이것은 나를 위해 작동합니다. – Narry

+0

내가 당신을 도울 수있어서 기쁩니다. 질문을 끝내기 위해 대답을 수락하는 것을 잊지 마십시오. – Parado

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); 
관련 문제