@I_Bober

Как посчитать количество записей в группе по критерию и если их нет то вывести ноль?

Есть база данных в которой нужно посчитать общее количество студентов, болевших по упомянутому диагнозу в течение года по каждому факультету: группа - количество заболевших, если их нет то количество должно быть равно нулю.
Схема Базы Данных
61812d459f477959730603.png
  • Вопрос задан
  • 47 просмотров
Решения вопроса 1
tsklab
@tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
COUNT и возвращает 0, если нет строк отвечающих условию.

Если нужны все факультеты, то:
SELECT FacultyName, ISNULL(CN.Co,0)
  FROM Faculty
    LEFT JOIN (SELECT [Card].FacultyId,  COUNT(*) AS Co
FROM [Card] 
JOIN Diagnosis  ON [Card].CardId = Diagnosis.CardId
JOIN Diagnosies  ON Diagnosies.Id = Diagnosis.Diagnosis
WHERE Diagnosies.DiagnosisName = N'грип' AND YEAR(Diagnosis.VisitDate) = 2000
GROUP BY [Card].FacultyId) AS CN
      ON CN.FacultyId = Faculty.FacultyID
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы