0
我試圖讓查詢列出顧問並提供每個活動學生的數量。我可以列出有1位學生的顧問,排除1位以上的顧問,但無法讓顧問返回0或NULL計數。SQL查詢返回一個結果,不返回0或NULL結果
Select Advisors.AdvisorID, Advisors.FirstName, Advisors.LastName, COUNT(case Students.IsActive WHEN '1' then 1 else NULL end) AS "Number of Students"
FROM Advisors, Students
WHERE Advisors.AdvisorID=Students.AdvisorID
GROUP BY Advisors.AdvisorID, Advisors.FirstName, Advisors.LastName
HAVING COUNT(case Students.IsActive WHEN '1' then 1 else NULL end)='1'
統計活動調查問卷,並返回顧問列表與顧問一個學生,與0學生顧問回來空白。我錯過了什麼?
Select Advisors.AdvisorID, Advisors.FirstName, Advisors.LastName, COUNT(case Students.IsActive WHEN '1' then 1 else NULL end) AS "Number of Students"
FROM Advisors, Students
WHERE Advisors.AdvisorID=Students.AdvisorID
GROUP BY Advisors.AdvisorID, Advisors.FirstName, Advisors.LastName
HAVING COUNT(case Students.IsActive WHEN '1' then 1 else NULL end) IS NULL
回來與列名和任何數據。我有雙重檢查表顧問表有3個條目,一個有2個活躍的學生和一個非活動0或1使用位,一個沒有學生,一個有一個。
使用< = 1或< 1類似地導致空白數據。
?我看不出這是一個解決方案還是任何幫助,它是我剛纔以不同的格式提供的,結果在sql server中是一樣的,空白數據爲0,正確的數據爲1並且多於1 –
它是在你的情況下使用LEFT JOIN代替「INNER JOIN」。 HAVING條件也不同 – Squirrel
OIC!這正是我所需要的,非常感謝 –