Проблема
Есть пробелы в данных, которые необходимо заполнить. Хотел бы избежать UNION
или PARTITION BY
, если это возможно.
Запрос
Оператор select выглядит следующим образом:
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
Столбцы:
- инцидент_tally
- серьезность_cd
- инцидент_тип_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
для подсчета нулей?