Je l'instruction SQL suivante:Oracle PL/SQL: référencement à un nom de colonne dans la requête jointe intérieure
SELECT *
FROM cars car
LEFT JOIN (SELECT *
FROM cars auto
LEFT JOIN steeringwheels sw
ON auto.steeringwheelid = sw.ID
WHERE material = 'leather') innertable
ON innertable.ID = car.ID
LEFT JOIN steeringwheels sw
ON auto.steeringwheelid = sw.ID
WHERE sw.material='plastic'
Cette requête fournit les colonnes de la table « Cars » deux fois, mais avec des valeurs différentes pour la ID de la table Car (le but de la requête est de mapper les valeurs pour voir ce que le Car.ID serait id le matériau passerait du cuir au plastique).
------------------------------------
| ID | material | ID_1 | material_1 |
-------------------------------------
| 1 | leather | 4 | plastic |
| 2 | leather | 7 | plastic |
-------------------------------------
Cependant, je voudrais sortie que les colonnes d'identité (pas les colonnes matérielles), comme ceci:
-------------
| ID | ID_1 |
-------------
| 1 | 4 |
| 2 | 7 |
-------------
Je n'ai pas été en mesure de le faire, comme je l'ai pas trouvé un moyen de se référer à la colonne ID de la requête interne de quelque manière que ce soit. Par exemple
SELECT id, innertable.id
(...)
ou
SELECT id, auto.id
(...)
ou
SELECT id, id_1
(...)
ne semblent pas fonctionner. Comment peut-on y parvenir?