Hello à tous,
J'ai un bug dans mes requêtes mais je ne comprends pas... voici mon souci :
Ma requête en gros :
Si le solde du compte client est positif alors on applique un code de regroupement (code débit, c'est inversé, nous sommes en comptabilité) sinon on applique un autre code de regroupement client (code crédit).
Voici la requête :
beta_balance à la base est composée de 4 champs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT beta_coderegroupement.Comptes, IF(beta_balance.Solde > 0, beta_coderegroupement.Debit , beta_coderegroupement.Credit) AS valeur FROM beta_coderegroupement INNER JOIN beta_balance ON beta_coderegroupement.Comptes <= beta_balance.Compte WHERE beta_coderegroupement.Comptes <= ? ORDER BY beta_coderegroupement.Comptes DESC LIMIT 1
Compte comptable client (6 chiffres)
Nom du client
Solde du compte
Date de paiement (M, M+1, M+2...)
La requête du dessus vient remplir la table avec le code de regroupement dans un cinquième champ... et c'est là que j'ai un souci...
Dans les deux tables, les comptes sont de type int(6).
Dans 98% des cas, cette requête fonctionne mais dans les 2 % restants, ça ne prend pas les bons comptes.... et je ne peux pas interverser les codes (sinon je l'aurais fait...)
Savez vous pourquoi ?
D'avance merci pour vos réponses,
Thibaut
Partager