Я пытаюсь вернуть полный список людей,
Чтобы получить полный список людей, я бы снял требование AND dor_type.document_type = 'Security Clearance Report'
Цель состоит в том, чтобы руководство могло легко увидеть, кто получил этот тип документа, а кто нет.
По своему выбору вы можете сделать следующее:
, DECODE(dor_type.document_type, 'Security Clearance Report', dor_type.document_type ,null)
Для любой строки, где тип_документа - тот, который вам нужен, он покажет его. Для остальных это просто покажет ноль.
SELECT papf.person_id
, (ppnf.first_name||' '||ppnf.last_name) e_name
, dor.document_name
, DECODE(dor_type.document_type, 'Security Clearance Report', dor_type.document_type ,null)
, TO_CHAR(dor.creation_date, 'DD/MM/YYYY') dor_issue_date
FROM per_all_people_f papf
, per_person_names_f ppnf
, hr_document_types_vl dor_type
, hr_documents_of_record dor
WHERE SYSDATE BETWEEN papf.effective_start_date AND papf.effective_end_date
AND papf.person_id = ppnf.person_id
AND SYSDATE BETWEEN ppnf.effective_start_date AND ppnf.effective_end_date
AND ppnf.name_type = 'GLOBAL'
AND papf.person_id = dor.person_id (+)
AND dor_type.document_type_id = dor.document_type_id
ORDER BY e_name DESC