2012-05-10 2 views
0

집계 함수 "SUM"을 사용하여 다음 쿼리를 작성했습니다.Count와 Sum을 같은 쿼리에서 사용하는 방법?

SELECT 
     D.PODetailID, 
     SUM(D.AcceptedQty) 
FROM STR_MRVDetail D 
INNER JOIN STR_MRVHeader H ON H.MRVID = D.MRVID 
INNER JOIN PUR_POHeader PH ON PH.POID = H.POID 
INNER JOIN PUR_PODetail PD ON PD.PODetailID = D.PODetailID 
WHERE H.StatusID = 4 
AND PH.POID = 839 
AND (SELECT 
      SUM(AcceptedQty) 
    FROM 
      STR_MRVDetail 
    WHERE 
      STR_MRVDetail.PODetailID = PD.PODetailID) = 
           (SELECT POQuantity FROM PUR_PODetail 
           WHERE PUR_PODetail.PODetailID = PD.PODetailID) 
           GROUP BY D.PODetailID 

현재이 쿼리는 2 개의 행을 반환합니다. 이 쿼리의 개수를 가져 오려고합니다. 위 쿼리의 행 수를 계산하는 방법은 무엇입니까?

+0

그렇다면 별도의 열로 계산 (이 경우 2)을 원하십니까? –

+0

아니, 나는 보여주고 싶지 않아. 난 그냥 행을 계산하고 정수 변수에 행 개수를 할당 싶습니다. – thevan

+1

당신의 프로그래밍 언어는 검색된 행의 수를 얻는 방법을 가져야합니다. (또는 단지 그것을 표시하는 동안 계산합니다) –

답변

2
SELECT COUNT(*) as Total_Rows 
FROM 
(
SELECT D.PODetailID as PODetailID, SUM(D.AcceptedQty) as Total_AcceptedQty 
FROM STR_MRVDetail D 
INNER JOIN STR_MRVHeader H ON H.MRVID = D.MRVID 
INNER JOIN PUR_POHeader PH ON PH.POID = H.POID 
INNER JOIN PUR_PODetail PD ON PD.PODetailID = D.PODetailID 
WHERE H.StatusID = 4 
AND PH.POID = 839 
AND (SELECT SUM(AcceptedQty) FROM STR_MRVDetail 
    WHERE STR_MRVDetail.PODetailID = PD.PODetailID) = 
    (SELECT POQuantity FROM PUR_PODetail 
     WHERE PUR_PODetail.PODetailID = PD.PODetailID) 
GROUP BY D.PODetailID 
) as t 
+0

감사합니다. 그 일하는 .. – thevan

2

당신은 또한 당신에게 설정 한 최종 결과뿐만 아니라 결과 집합에있는 모든 행의 수를 제공하는 쿼리에 @@ROWCOUNT를 추가 할 수 있습니다.

SELECT D.PODetailID, SUM(D.AcceptedQty), @@ROWCOUNT FROM STR_MRVDetail D 
INNER JOIN STR_MRVHeader H ON H.MRVID = D.MRVID 
INNER JOIN PUR_POHeader PH ON PH.POID = H.POID 
INNER JOIN PUR_PODetail PD ON PD.PODetailID = D.PODetailID 
WHERE H.StatusID = 4 
AND PH.POID = 839 
AND (SELECT SUM(AcceptedQty) FROM STR_MRVDetail 
    WHERE STR_MRVDetail.PODetailID = PD.PODetailID) = 
    (SELECT POQuantity FROM PUR_PODetail 
     WHERE PUR_PODetail.PODetailID = PD.PODetailID) 
GROUP BY D.PODetailID 
관련 문제