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 :
J'ai un message d'erreur qui me dit id_cde identificateur non valide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
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.
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Je n'arrive pas à trouver comment faire, merci de votre aide.







Répondre avec citation





Partager