Ниже приведен мой SQL-запрос, чтобы определить, сделал ли несколько идентификаторов определенный заказ. Он объединяет 2 таблицы - REQUEST
и CODE
, чтобы вернуть имя элемента, которое находится в CODE
:
SELECT GETCLIENT(a.CLI_ID,a.CLI_ID_SCH) AS Client, a.FILLER_FCTY AS Facility, a.FILLER_ORD AS OrderNumber, a.ORD_DATE AS DateTime, b.OBSC_DESC AS ItemName
FROM REQUEST a, CODE b
WHERE a.SERV_ID = b.OBSID
AND GETCLIENT(a.CLI_ID,a.CLI_ID_SCH) IN
('AZZ1',
'BCA2',
'BDG3',
'BMZ4',
'BSH5',
'CAS6',
'CBW7')
AND FILLER_FCTY = 'TGY'
AND SERV_ID = '00034'
AND OBSC_DESC = 'Item A'
ORDER BY 1
. Приведенный выше запрос вернет первые 6 идентификаторов (AZZ1, BCA2,BDG3, BMZ4, BSH5 и CAS6) с ожидаемым результатом, поскольку они сделали соответствующий заказ, однако, поскольку последний идентификатор CBW7 никогда не делал ни одного заказа, который имеет отношение к указанному номеру товара и названию товара,для этого идентификатора результат не возвращается.
Как создать этот идентификатор или любой идентификатор для возврата строки, даже если в базе данных нет совпадений? Я пытался использовать OR GETCLIENT(a.CLI_ID,a.CLI_ID_SCH) IS NULL
, но все еще не возвращал строку для последнего идентификатора.