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.