J'utilise une sous-requête pour une opération de jointure. Lorsque je code les paramètres en dur, les choses fonctionnent bien. Mais ces paramètres doivent provenir de sql externe qui, je crois, est appelé requête corrélée. Je voudrais les transmettre en utilisant des alias de table, mais cela donne invalid identifier
.Comment utiliser les alias dans une jointure de sous-requête corrélée à Oracle?
Exemple inventé dans le but de la question:
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)
Ceci est tapé, donc j'espère que je ne l'ai pas présenté de problèmes de syntaxe ici. La question concerne spécifiquement COUNTRY_ID=PR.COUNTRY_ID
suite à la clause WHERE
. Les alias sont-ils légaux dans de telles sous-requêtes?
Eh bien, dès que je remplacerai 'WHERE COUNTRY_ID = PR.COUNTRY_ID' avec' WHERE COUNTRY_ID = 123', tout fonctionne correctement. Pourrait-il avoir quelque chose à voir avec l'exécution de cette requête via Oracle SQL Developer Version 3.2.09? – user6651485