с помощью «где» присоединиться к условию даты (+) в Oracle, получить ошибку «недопустимый реляционный оператор» - PullRequest
0 голосов
/ 14 февраля 2020

Попробуйте выполнить левое соединение с помощью Где, но получите ошибку для условия даты

enter image description here Я получил следующую ошибку: ORA-00920: недопустимый реляционный оператор 00920. 00000 - «недопустимый реляционный оператор» * Причина:
* Действие: Ошибка в строке: 165 Столбец: 99

1 Ответ

0 голосов
/ 14 февраля 2020

Вы должны просто использовать современные явные объединения вместо неявных неявных объединений старой школы.

select *
from po_headers_all pha
left join gl_daily_rates glrate
    on  pha.currency_code = glrate.from_currency
    and pha.creation_date = glrate.conversion_date

Обратите внимание, что я изменил выражение, соответствующее строкам даты: если оба имеют одинаковый формат, то вы не нужно конвертировать их в даты. Сравнение строк будет быстрее, чем сравнение и сравнение.

...