我正在使用子查询进行连接操作。当我硬编码参数,事情工作正常。但是这些参数必须来自我认为被称为相关查询的外部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)
这是键入的,所以我希望我没有出台任何语法问题在这里。该问题具体是关于WHERE
条款后面的COUNTRY_ID=PR.COUNTRY_ID
。这些子查询中别名是否合法?
好,只要我更换'WHERE COUNTRY_ID = PR.COUNTRY_ID'与'WHERE COUNTRY_ID = 123',事情工作正常。它可能与通过Oracle SQL Developer Version 3.2.09运行此查询有关吗? – user6651485