2012-11-26 3 views
0

이 쿼리에서는 카운트에 포함되지 않았기 때문에 두 테이블 부족한 결과를 얻었으므로 결과에 NULL 값을 얻고 싶습니다. 이렇게하려면 어떤 종류의 하위 쿼리를 사용해야한다고 확신하지만 문제의 특성이 집계 된 것이기 때문에 확실하지 않습니다. 해당 열의 널 (null)이 포함되어 있지 않습니다 null이되지 않습니다 count(*) 또는 다른 속성을 사용 count(column)으로, -COUNT를 사용하여 Null 값 반환

SELECT Equipment.SerialNo , Name, COUNT(Assignment.SerialNo) 
FROM Equipment 
INNER JOIN Assignment 
    ON Assignment.SerialNo = Equipment.SerialNo 

GROUP BY Equipment.SerialNo, Name 
+0

'Count (*)'Null 포함 – Laurence

+0

내 결과를 제한하고있는 것은 무엇입니까? 이 경우 문제의 항목은 Assignment.SerialNo에 참여하지 않으므로 count가 해당 항목을 놓치게됩니다. –

답변

4

당신은 당신이 모든 행을 계산하려면 Assignment.SerialNo보다 다른 무언가를 당신의 inner joinleft outer join로 변경하고 계산해야 . 개수에 null Assignment.SerialNo 값을 포함시키지 않으려면 해당 열에서 계속 집계하십시오.

정의에 의한 내부 조인은 Assignment.SerialNoNULL 인 값을 건너 뛰고 외부 조인에 포함됩니다.

+0

이제 나는 마음이 바뀌 었다고 말했습니다. 아마도 그는 'Count (Assignment.SerialNo)'가 맞을 경우 누락 된 행에 대해 카운트가 0이되기를 원할 것입니다. – Laurence

+0

그는 무엇입니까? 나는 말씨로 혼란스러워. 두 경우 모두 편집 할 것입니다. – Colleen