Bonjour,
Je cherche à faire une jointure entre 2 tables de la façon suivante :
1/ table ecritures
numero_compte montant
...
616000 50,00
616100 20,00
616200 80,00
616300 50,00
616400 80,00
…
2/ table regroupement (qui indique par ligne les comptes à totaliser séparés par le caractere |)
numero_ligne designation totalisation
…
20 Entretiens et fournitures 616100|616200|616300
…
le résultat attendu est la somme des montants des comptes (20,00 + 80,00 + 50,00) :
20 Entretiens et fournitures 150,00
J’arrive à le faire s’il n’y a que 2 numéros de compte de la façon suivante :
Mais s’il y en plus de 2, je ne trouve pas comment faire. Est il possible de faire une boucle sur un count des carateres | ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT rg.numero_ligne, rg.designation ,sum(ecritures.montant) As Valeur FROM regroupement As rg join ecritures on ecritures.numero_compte = LEFT(rg.totalisation,CHARINDEX('|', rg.totalisation)-1) OR ecritures.numero_compte = RIGHT(rg.totalisation,LEN(rg.totalisation) - CHARINDEX('|', rg.totalisation)) GROUP BY rg.numero_ligne, rg.designation
Merci de votre aide.
Partager