|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 9 ![]() |
Bonjour,
J'ai une table de transactions financières pour différents comptes et je cherche à tracer les mouvements de fonds entre comptes. La table se présente ainsi: account transacDate débit crédit balance 12345678 24/07/2008 900 NULL 2524.6 87654321 24/07/2008 NULL 900 5546.1 87654321 24/07/2008 NULL 100 5446.1 Je cherche à sortir pour une même journée les opérations pour lesquelles crédit=débit. Dans l'exemple ci-dessus les 2 premières lignes, afin de voir le débit du compte 12345678 pour créditer le compte 87654321. Alternativement, la requête pourrait me sortir une nouvelle forme à savoir transacDate deb_acc credit_acc amount 24/07/2008 12345678 87654321 900 J'ai essayé plusieurs requêtes mais pas trouver la bonne, mon self-join ne me retourne pas ce que j'espère. Merci. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 647 ![]() |
Bonjour,
Détaillez un peu plus votre table car là ça n'a pas compréhensible. Comment reconnait-on qu'une transaction sur un compte est la même que celle sur un autre compte ? quelle est votre requête actuelle ? |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 9 ![]() |
Détails des champs:
* "account" c'est tous des numéros de comptes bancaire *"transacDate" c'est la date de l'opération * "débit" c'est le montant duquel le compte "account" est débité, si ce champ à un montant, le champ crédit est par définition vide. * "crédit" c'est le montant duquel le compte "account" est crédité, si ce champ à un montant, le champ débit est par définition vide. * "balance", c'est le solde du compte après débit/crédit Dans l'exemple donné, il y donc un virement de 900 en date du 24/07/2008 depuis le compte débité 12345678 vers le compte crédité 87654321 Je me suis trompé pour le solde de la 3ième ligne, cela devrait être 87654321 24/07/2008 NULL 100 5646.1 Et on aurait disons une compte débité ainsi 11111111 24/07/2008 100 NULL 9975.1 signifiant un virement de 100 en date du 24/07/2008 depuis le compte débité 11111111 vers le compte crédité 87654321 Sur les milliers d'opérations (versement, intérêt débit carte de crédits, etc), je cherche juste à isoler certains transferts de comptes à compte. Requête, la table s'appelle OP_REGU Code :
P.S. Désolé, mais j'arrive pas à garder les tabulations/espaces dans le post |
||
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 647 ![]() |
Avec ces infos uniquement il n'y aucun moyen de savoir quand 2 transactions sont liées.
en effet on pourrai très bien avoir : Code :
|
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 9 ![]() |
Parfaitement bien vu.
C'est pour l'instant ce dont je dispose comme information, bon j'ai un champ aussi de communication et parfois les communications sont les même pour l'opération d'une part de débit, d'autre par de crédit, parfois elle peuvent être différente par exemple un transfert, suivit d'un retrait cash... Je souhaite juste sortir cette liste, faut distinguer unicité des opérations ou tel que votre exemple, non unicité à "élucider". La requête fournit déjà une information d'analyse intéressante. En fait je vais même avoir un champ pour avoir des dates proches, p.ex. retrait et dépôt distinct de 4 jours. Merci |
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 647 ![]() |
La seule qui me vient à l'esprit c'est ceci :
Code :
Changer le format de votre table de log ca vous simplifira la vie. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com