Когда я запускаю этот оператор select, он вернет все значения правильно во втором столбце, однако оставшиеся столбцы 3, 4 и 5 возвращают точно такие же значения, что и столбец 2. Мне интересно, почему это может быть? Заранее благодарны за Вашу помощь. Если вы должны знать, я пытаюсь подсчитать 3 значения всех этих полей, сгруппированных по школам. Подсчет 0, 1 и NULL по отдельности.
SELECT
sch.schoolID,
COUNT(ISNULL(cm.attendance, 404)) AS 'cmAtt',
COUNT(ISNULL(cm.allowTeacherRequests, 404)) AS 'cmTeacherReq',
COUNT(ISNULL(c.attendance, 404)) AS 'cAtt',
COUNT(ISNULL(c.allowTeacherRequests, 404)) AS 'cTeacherReq'
FROM CourseMaster AS cm
INNER JOIN Course AS c ON c.courseMasterID = cm.courseMasterID
INNER JOIN Calendar AS cal ON cal.calendarID = c.calendarID
AND endYear = 2020
INNER JOIN School AS sch ON sch.schoolID = cal.schoolID
--MIDDLE SCHOOOLS
AND sch.schoolID IN(15,16,17,21,28)
--HIGH SCHOOLS
--AND sch.schoolID IN(18,19,20,22)
GROUP BY
sch.schoolID,
cm.attendance,
cm.allowTeacherRequests
--c.attendance,
--c.allowTeacherRequests
ORDER BY
sch.schoolID,
cm.attendance,
cm.allowTeacherRequests
Суммированная возвращаемая информация выглядит примерно так:
ID c2 c3 c4 c5
18, 106, 106, 106, 106
Она должна выглядеть примерно так:
ID c2 c3 c4 c5
18, 106, 90, 80, 210
РЕДАКТИРОВАТЬ: Вот образец того, что возвращается. столбец a - это идентификатор, а b - количество (0,1, NULL). Однако столбец b реплицируется в c, d и e. C, d и e на самом деле имеют разные значения. Я пытаюсь выяснить, почему столбцы реплицируются в соответствии с б.
a b c d e
15 390 390 390 390
15 354 354 354 354
15 29 29 29 29