Bonjour chers tous,
J'aurai besoin de votre aide précieuse.
Alors je travaille sur une requete SQL oracle.
Mais dans ma requete, j'aimerai avoir appeler une fonction qui, pour une date de commande donnée (cmde dans laquelle cet article figure), consulte l'historique (retournée ici par la sous requête Histo) et me retourne qui était le fournisseur pour cet article à l'époque de la commande. Ceci, en se servant des dates de début de validité des fournisseurs. On sous-entend qu'à tout moment il y a un seul founisseur valide. Quand on active un nouveau fournisseur, l'"ancien" founisseur est désactivé.
Voici le retour de la sous requete Histo:
Article Fournisseur Date validité
Renault 900446 24/03/2009 10:23
Renault 900726 8/02/2010 12:26
Renault 900446 22/02/2010 14:47
Renault 900726 30/04/2010 14:38
Renault 900726 23/03/2011 15:51
Renault 905141 7/11/2011 11:36
Renault 900446 17/07/2013 16:24
L'idée serait alors de se servir du résultat de ma fonction pour remplir la colonne "Fournisseur" de ma requete (tel que ci-dessous)
Cmde Article Date cmde Fournisseur
1102 Renault 25/03/2010 12:51 900446
3103 Renault 18/04/2011 16:26 900726
Autrement dit, la commande 1102 de l'article Renault a été passée à la date 25/03/2010 12:51. En consultant le 1er query on constate qu' entre le 22/02/2010 14:47 et le 30/04/2010 14:38, le fournisseur valide était 900446.
...
A mon sens ca se rapporte à faire une sorte de recherche dichotomique en PLSQL. Mais pour le faire je me suis lancé dans les curseurs et je crains que je me perds un peu là.
Si vous pouviez m'aider, j'en serai bien heureux...
Espérant avoir assez bien formulé ma demande,
Cordialement
Partager