Bonjour,
Google est mon ami, et je m'en suis sorti maintes fois grâce à lui. Mais cette fois-ci, j'ai beau parcourir "les internets", je n'ai pas trouvé de discussion sur quelque forum que ce soit qui soit vraiment en rapport avec la requête que je dois effectuer. C'est pourquoi je viens solliciter les membres de ce forum en espérant y trouver de l'aide. 
Je vous expose la difficulté à laquelle je fais face.
La table contient des écritures comptables, et 3 champs nous intéressent ici. Appelons la table ECRITURES, et les champs code (car (4)), debit (numeric (10,2)), et credit (numeric (10,2)).
Je dois récupérer la liste de tous les codes dont la valeur est :
- soit vide / null,
- soit en lettres minuscules,
- soit en lettres majuscules dont la somme des débits n'est pas égale à la somme des crédit.
Pour les codes à vide (null) ou en lettres minuscules, je fais un
select * from ECRITURES e where lower(e.code) = e.code
mais il faut que je complète cette requête pour obtenir les autres écritures.
Des exemples :
code debit credit
1 10 0
1 15 0
1 0 25
2 0 40
2 20 0
Il faudrait que ma requête me renvoie le code 2 (parce que 20 n'est pas égal à 40) mais pas le code 1 (parce que 10 + 15 est bien égal à 25).
Existe-t-il un moyen de faire un
select code from ECRITURES where sum(debit) <> sum(credit) grouped by code
?
J'écris volontairement "grouped" pour traduire ma recherche et l'idée que je cherche à retranscrire.
En vous remerciant par avance pour vos éclairages.
Partager