Bonjour,

Je dispose de 2 tables :
Facture et Règlements

A chaque facture peut correspondre 0, n règlements.
Un règlement peut être désactivé et donc il ne doit pas être pris en compte.

En une requête, je voudrais compter le nombre de facture dont le reste à payer est 0.

Pour le moment j'en suis là :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
SELECT
	COUNT(DISTINCT f.factureID) 
FROM 
	reglement r INNER JOIN
	facture f ON r.factureID = f.factureID
GROUP BY 
	f.factureID
HAVING 
	((f.total - SUM(CASE WHEN r.actif = 0 THEN 0 ELSE r.montant END)) = 0)
Bon en réalité, ma requête est un poil plus compliquée car elle lie 15 tables, mais il y a l'essentiel ci-dessus.
Le résultat est une erreur indiquant que f.total n'est pas connu.

j'avais essayé de faire le calcul dans la clause WHERE mais j'avais également une erreur du fait de la somme (j'ai cherché et trouvé que lorsqu'il y une somme dans un WHERE il fallait passer par un HAVING)

Auriez-vous une piste ?

Merci de votre aide !