Ваше внешнее объединение не является проблемой.
DECODE
не является проблемой.
Запустите эту версию своего кода с комментариями DECODE
и LEFT JOIN
.
select * -- a.SAP_ID, decode (a.priority_site, 'IP1', 'IP', 'NonIP') AS owners
FROM
r4g_osp.enodeb a
-- LEFT JOIN app_wfm.wfm_candidate_status st ON st.status = a.enodebstatus
WHERE a.sap_id in ('I-AP-NLGD-ENB-I001')
AND
a.scope IN (
'EnodeB-Connected_Fibre',
'EnodeB-Connected_MW'
) ;
Каков результат?
Если вы не получили строк из исходного запроса, вы не должны получать ни одной из этой версии. У DECODE
нет данных для работы, потому что строки не возвращаются.
Внешнее объединение ничего не делает, потому что вы только получаете доступ и фильтруете данные из таблицы ENODEB. Поскольку это левое внешнее объединение, дополнительная фильтрация на основе кода состояния отсутствует.