Следующий простой запрос SQL генерирует ошибку ORA-01427 при поиске определенных номеров объектов.
SELECT OBJ
FROM A.TABLEA
WHERE (OBJ ='XXXXXX');
Запрос работает нормально, за исключением случаев, когда вы выбираете OBJ, где есть другая строка / строки OBJ с соответствующим суффиксом A 'XXXXXXA'.
то есть запрос для OBJ = 'XXXXXXA' работает нормально, но запрос для OBJ = 'XXXXXX' приводит к ошибке, альтернативно запрос для OBJ = 'XXXXXY' работает нормально, когда нет соответствующего OBJ = 'XXXXXYA'
Есть ли способ обработать / избежать ошибки, когда он выберет первую / последнюю / случайную единственную строку?
И, идя дальше, вместо поиска конкретных объектов, которые я хочу искать в диапазоне дат, где мне нужно присоединиться к другой таблице, чтобы получить дату, ошибка будет отображаться, если существует «XXXXXX» с соответствующим «XXXXXXA». в диапазоне дат. Смотрите код ниже,
SELECT
t1.*,
t2.OBJ,
t2.DATE
FROM
A.TABLEA t1
LEFT OUTER JOIN
A.TABLEB t2
ON (t1.OBJ = t2.OBJ)
WHERE
(t2.DATE BETWEEN TO_DATE ('2019/04/01', 'yyyy/mm/dd')
AND TO_DATE ('2019/04/30', 'yyyy/mm/dd');
Есть ли способ обработать / избежать ошибки в этом коде, чтобы заставить его выбрать 1 строку?
Заранее спасибо.