Utilisation de colonnes dans une sous-requête
Bonjour à tous,
je voudrais passer une colonne d'une requete principale dans une sous requête imbriquée.
Explication. J'ai une bd qui gère des commandes, chaque commande à plusieurs états (annulé, confirmée, payée, expédiée,livrée etc...). Ceci est dans une table ou il y a l'id_commande, l'id_etat la date de l'attribution de l'état. Je voudrais donc toute les commandes dont le dernier état est 3 (expédiée).
Et bien je n'y arrive pas.
Je fais cette requête :
Code:
1 2 3 4 5
|
select lce.id_commande id_cde from l_commande_etat lce
where (select * from (select id_etat from l_commande_etat
where l_commande_etat.id_commande=id_cde ORDER BY
date_commande_etat desc) where rownum = 1) = 3; |
J'ai un message d'erreur qui me dit id_cde identificateur non valide.
Quand je fais juste la sous requete suivante avec un id_cde fixé à 1000 par exemple, j'ai bien un résultat avec id_etat de 3.
Code:
1 2 3 4
|
select * from (select id_etat from l_commande_etat
where l_commande_etat.id_commande=id_cde
ORDER BY date_commande_etat desc) where rownum = 1 |
Comprenez-vous mon problème ? je voudrais en fait qu'au lieu de 1000 ce soit id_cde et donc qu'au lieu de faire la requete que pour une commande je voudrais toutes les commande avec comme dernier état en date l'état 3
Je n'arrive pas à trouver comment faire, merci de votre aide.