Я пытаюсь просмотреть все рабочие задания в системе, в которых есть три специальных сервисных кода. Запрос делает именно это, однако запрос показывает те рабочие задания, которые имеют эти три конкретных сервисных кода, но он показывает только эти три конкретных сервисных кода. Иногда в рабочем заказе присутствуют другие сервисные коды наряду с тремя, которые я хочу увидеть. В этих случаях мне нужно увидеть три, а также любые другие, которые также находятся в рабочем порядке. Но я не хочу видеть рабочие заказы, в которых нет этих трех сервисных кодов.
Иногда в рабочем задании есть много других сервисных кодов, и ни один из трех меня не интересует, поэтому мне нет дела до этих рабочих заданий.
Примеры вывода:
1) В рабочем задании 123456 есть только код сервиса VPROSWP, и запрос показывает его
2) В рабочем задании 234567 есть служебные коды VPROSWP и DPROSWP, и запрос показывает их
3) На рабочем задании 345678 есть сервисные коды DPROSWP & DREOTLT, и запрос показывает только сервисный код DPROSWP, когда мне нужно увидеть оба из них
4) На рабочем задании 456789 имеется служебный код VSVCVVC, и запрос не показывает его, что нормально, мне не нужно его видеть.
Использование Oracle SQL Developer 18.2
Заранее спасибо всем, кто может помочь.
Вот мой запрос:
SELECT
O_A_WOM.ACCOUNT_NUMBER,
O_A_WOM.WORK_ORDER_NUMBER,
O_A_WOM.WO_TYPE,
O_A_WOM.WO_STATUS,
O_A_WOM.INSTALL_COMPLETION_DATE,
O_A_WOM.EMPLOYEE_TYPE_CODE,
O_A_WOM.ASSIGNED_INSTALLER,
O_E_M.EMPLOYEE_NAME,
O_E_M.REPORTS_TO,
O_A_WOD.SERVICE_CODE,
O_A_WOD.TO_QUANTITY
FROM
O_A_WOD,
O_A_WOM,
O_E_M
WHERE
O_A_WOD.WORK_ORDER_NUMBER = O_A_WOM.WORK_ORDER_NUMBER
AND O_A_WOM.ASSIGNED_INSTALLER = O_E_M.EMPLOYEE_NUMBER
AND O_E_M.SITE_ID = O_A_WOM.SITE_ID
AND O_E_M.EMPLOYEE_TYPE_CODE = 'H3'
AND O_A_WOM.WO_STATUS IN ('CP')
AND O_A_WOM.WO_TYPE IN ('SR', 'DW', 'UP')
AND O_E_M.REPORTS_TO in (19232)
AND O_A_WOM.INSTALL_COMPLETION_DATE BETWEEN 1190420 AND 1190420
AND O_A_WOD.SERVICE_CODE IN ('VPROSWP', 'TPROSWP', 'DPROSWP')
ORDER BY O_A_WOM.WORK_ORDER_NUMBER
;