Я использую подзапрос для операции соединения. Когда я жестко программирую параметры, все работает нормально. Но эти параметры должны поступать из внешнего sql, который, как мне кажется, называется коррелированным запросом. Я хотел бы передать их с использованием псевдонимов таблицы, но это приводит к invalid identifier
.Как использовать псевдонимы в объединенном подзапросе Oracle?
Пример изобрел с целью вопроса:
SELECT
PR.PROVINCE_NAME
,CO.COUNTRY_NAME
FROM
PROVINCE PR
JOIN (
SELECT COUNTRY_ID, COUNTRY_NAME
FROM COUNTRY
WHERE COUNTRY_ID=PR.COUNTRY_ID
) CO ON CO.COUNTRY_ID=PR.COUNTRY_ID
WHERE
PR.PROVINCE_ID IN (1,2)
Это напечатано в, так что я надеюсь, что я не представил каких-либо проблем синтаксиса здесь. Вопрос в частности о COUNTRY_ID=PR.COUNTRY_ID
в соответствии с пунктом WHERE
. Являются ли псевдонимы законными в таких подзапросах?
Ну, как только я заменяю 'WHERE COUNTRY_ID = PR.COUNTRY_ID' с' WHERE COUNTRY_ID = 123', все работает нормально. Может ли это иметь какое-то отношение к выполнению этого запроса через Oracle SQL Developer версии 3.2.09? – user6651485