0
count = 0 일 때 null 값을 얻으려고합니다. 다음은 특정 기준에 맞는 사이트 수를 계산하는 데 사용하는 코드입니다. 이 경우 11 또는 21로 시작하는 코드가 있습니다. 비슷한 구조의 질문이 있지만 마치 내 것이 더 단순한 것처럼 보입니다. 내가 (다른 질문이 말한대로 집계 테이블) 지역이 그 다음 왼쪽 가입 할 나열하는 별도의 테이블을 구성 할 필요가있는 것처럼 LEFT JOIN을 통한 지원.
SELECT
[Area],
COUNT(*) AS [Number of Sites]
FROM
dbo.sizeclassreport
Where area='000005' and (code like '11%' or code like '21%')
GROUP BY
[area]
UNION ALL
그래서 응답에서, 그것은 보인다. 아래는 나의 첫번째 시도이다.
Create TABLE areas
(
Area char(6), NOT NULL
CONSTRAINT PK_AREAS PRIMARY KEY (areas)
Select * from areas
LEFT JOIN dbo.sizeclassreport ON areas.areas = area.sizeclassreport
COUNT(*) AS [Number of Sites]
FROM
dbo.sizeclassreport
Where area='000005' and (code like '11%' or code like '21%')
GROUP BY
[area]
UNION ALL
계산할 행이 없으므로 절대로 0이되지 않습니다. 모든 영역을 나열하는 표를 사용하여 쿼리를 왼쪽으로 채워야합니다. – Barmar
[0 카운트로 카운트 선택] 가능한 복제본 (https://stackoverflow.com/questions/34934538/select-count-with-0-count) – Barmar
아래 답변은 작동하지만 다른 사람을 위해이 디자인을하고 있습니다. 이 경우 11이 아닌 단일 결과를 원합니다. 그래서,이 왼쪽 조인에 대해. 먼저, 모든 지역 (이 경우 17 개)이있는 테이블을 만듭니다. 이 테이블에는 하나의 열만 있습니다. –