Объедините результат трех запросов в один запрос в Oracle - PullRequest
0 голосов
/ 01 ноября 2018

Я хочу добавить результат трех запросов в один запрос:

select file_name,count(distinct uniq_key) FILE_LOAD_REC_COUNT from STG_STRR_CTDI_CMTX2_TEMP1 group by file_name;
select file_name,count(distinct uniq_key)  ERR_REC_COUNT_M from STG_STRR_CTDI_ERR_DESC1 where err_desc in ('DUPLICATE RECORD','MISSING MANDATORY DEVICE DETAILS') group by file_name;
select file_name,count(distinct uniq_key)  ERR_REC_COUNT_O from STG_STRR_CTDI_ERR_DESC1 where err_desc not in ('DUPLICATE RECORD','MISSING MANDATORY DEVICE DETAILS') group by file_name;

Я хочу получить результат в следующем формате:

FILE_NAME|FILE_LOAD_REC_COUNT|ERR_REC_COUNT_M|ERR_REC_COUNT_O
ABC.json|10|10|20|29

Как мне это сделать?

1 Ответ

0 голосов
/ 01 ноября 2018
  1. Объединение всех двух таблиц

ВЫБРАТЬ имя_файла, COUNT (DISTINCT uniq_key) FILE_LOAD_REC_COUNT, 0 ERR_REC_COUNT_M, 0 ERR_REC_COUNT_O FROM STG_STRR_CTDI_CMTX2_TEMP1 GROUP BY имя_файла СОЮЗ ВСЕХ

ВЫБРАТЬ имя_файла, 0 FILE_LOAD_REC_COUNT, COUNT (ОТЛИЧНЫЙ СЛУЧАЙ КОГДА err_desc IN ('DUPLICATE RECORD', 'ДЕТАЛИ НЕУДАЧНОГО ОБОРУДОВАНИЯ УСТРОЙСТВА') ТОГДА uniq_key END) ERR_REC_COUNT_M, COUNT (ОТЛИЧНЫЙ СЛУЧАЙ КОГДА err_desc NOT IN («Дублировать запись», 'ДЕТАЛИ НЕУДАЧНОГО ОБОРУДОВАНИЯ УСТРОЙСТВА') ТОГДА uniq_key END) ERR_REC_COUNT_O FROM STG_STRR_CTDI_ERR_DESC1 GROUP BY имя_файла

  1. запрос после объединения

ВЫБРАТЬ имя_файла, SUM (FILE_LOAD_REC_COUNT) FILE_LOAD_REC_COUNT, SUM (ERR_REC_COUNT_M) ERR_REC_COUNT_M, SUM (ERR_REC_COUNT_O) ERR_REC_COUNT_O ОТ (

ВЫБРАТЬ имя_файла, COUNT (DISTINCT uniq_key) FILE_LOAD_REC_COUNT, 0 ERR_REC_COUNT_M, 0 ERR_REC_COUNT_O FROM STG_STRR_CTDI_CMTX2_TEMP1 GROUP BY имя_файла СОЮЗ ВСЕХ

ВЫБРАТЬ имя_файла, 0 FILE_LOAD_REC_COUNT, COUNT (ОТЛИЧНЫЙ СЛУЧАЙ КОГДА err_desc IN ('DUPLICATE RECORD', 'ДЕТАЛИ НЕУДАЧНОГО ОБОРУДОВАНИЯ УСТРОЙСТВА') ТО uniq_key END) ERR_REC_COUNT_M, COUNT (ОТЛИЧНЫЙ СЛУЧАЙ КОГДА err_desc NOT IN («Дублировать запись», 'ДЕТАЛИ НЕУДАЧНОГО ОБОРУДОВАНИЯ УСТРОЙСТВА') ТО uniq_key END) ERR_REC_COUNT_O FROM STG_STRR_CTDI_ERR_DESC1 GROUP BY имя_файла ) GROUP BY имя_файла;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...