2010-12-11 4 views
0

총 수를 가져 오는 쿼리가 작성되었습니다. 그러나 구문 오류를 반환합니다. 쿼리는 다음과 같습니다.SQL Server 2000의 총 개수 오류 찾기

((SELECT COUNT(*) FROM References 
    WHERE DocumentID = 15354 AND CustomerID = 896 AND ReferenceType = 1) 
    + 
(SELECT COUNT(*) FROM References 
WHERE DocumentID = 15354 AND ReferenceType = 0)) AS TotalReference 

오류를 해결하려면 어떻게해야합니까?

답변

1

당신은 수() 함수 호출의 인수 누락, 당신은 누락 및 이전 (또는 OR)되어있는 ReferenceType = 1 또한

((SELECT COUNT(*) 
    FROM References 
    WHERE DocumentID = 15354 
    AND CustomerID = 896 
    AND ReferenceType = 1) + 
(SELECT COUNT(*) 
    FROM References 
    WHERE DocumentID = 15354 
    AND ReferenceType = 0)) AS TotalReference 

, 당신은 단지 하나 개의 하위 쿼리의 수를 returing 생각이 ?

(SELECT COUNT(*) 
    FROM References 
    WHERE DocumentID = 15354 
    AND ((ReferenceType = 1 AND CustomerID = 896) 
     OR (ReferenceType = 0))) AS TotalReference 
0
SELECT ((SELECT COUNT(*) FROM [References] 
    WHERE DocumentID = 15354 AND CustomerID = 896 AND ReferenceType = 1) + 
    (SELECT COUNT(*) FROM [References] 
    WHERE DocumentID = 15354 AND ReferenceType = 0)) 
AS TotalReference 
0

나는 SQL Server를하지 많은 경험을 가지고 있지만 나는 그것이 누락 생각도 나는 *은 (오라클이 필요) 카운트에 필요하다 생각합니다. 또한 오라클에서는 처음에는 SELECT가 필요할 것이지만 (DUAL에서 필요하지만 SQL Server에서는 필요하지 않습니다)

select 
((SELECT COUNT(*) FROM References 
WHERE DocumentID = 15354 
AND CustomerID = 896 
and ReferenceType = 1) 
+ 
(SELECT COUNT(*) FROM References 
WHERE DocumentID = 15354 
AND ReferenceType = 0) 
) AS TotalReference