Bonjour à tous,
J'ai ce pb que je n'arrive pas à résoudre en SQL Ensembliste. j'étais obligé de le faire avec le Curseur.
J'ai un bénéficiaire qui a 2 types de commandes:
Commande crédit : on crédite son compte.
Commande Débit : on débite son compte.
Toutes les commandes sont ordonnées par ordre décroissant par rapport à la date de la commande.
Il s'agit de trouver quelles sont les commandes Crédit auxquelles sont associées les commandes Débit en commençant par la commande Débit la plus ancienne.
CodeBenef DateCommande MontantCredit MontantDebit ReferenceCommande 10001 30/05/2017 0 90 AX 10001 12/05/2017 100 0 DZ 10001 10/04/2017 0 50 EF 10001 25/03/2017 0 100 SH 10001 10/03/2017 90 0 MN 10001 20/02/2017 80 0 GL
Le résultat final doit être:
CodeBenef RefCommandeDebit RefCommandeCredit 10001 SH GL 10001 SH MN 10001 EF MN 10001 AX MN 10001 AX DZ
SH = GL (80 euros) + 20 (euros de MN) ---- > SH est liée à GL et MN
EF = 50 euros ---- > on Prends 50 des 70 euros qui restent de MN --> EF est liée à MN
AX = 90 euros -- > on prends les 20 qui restent de MN et 70 euros de DZ ---> AX est liée à MN et DZ.
Résolu avec un curseur, je voudrais pouvoir le faire sans le curseur mais en ensembliste.
Merci d'avance. si vous avez des idées pour aborder ce genre de pb. Vu le pb ça ressemble à de la récursivité. la ligne suivante dépend de la précédente.
Partager