Задача
Есть пробелы в данных, которые необходимо заполнить. Хотел бы избежать UNION
или PARTITION BY
, если это возможно.
Оператор запроса
Оператор выбора выглядит следующим образом:
SELECT
count( r.incident_id ) AS incident_tally,
r.severity_cd,
r.incident_typ_cd
FROM
report_vw r
GROUP BY
r.severity_cd, r.incident_typ_cd
ORDER BY
r.severity_cd,
r.incident_typ_cd
Источники данных
Коды серьезности и коды типов инцидентов:
severity_vw
incident_type_vw
Столбцы:
- incident_tally
- severity_cd
- incident_typ_cd
Фактические данные результата
36 0 ENVIRONMENT
1 1 DISASTER
27 1 ENVIRONMENT
4 2 SAFETY
1 3 SAFETY
Требуемые данные результата
36 0 ENVIRONMENT
0 0 DISASTER
0 0 SAFETY
27 1 ENVIRONMENT
0 1 DISASTER
0 1 SAFETY
0 2 ENVIRONMENT
0 2 DISASTER
4 2 SAFETY
0 3 ENVIRONMENT
0 3 DISASTER
1 3 SAFETY
Вопрос
Как бы вы использовали UNION
, PARTITION BY
или LEFT JOIN
для заполнения нуля?