Bonjour à tous,
Je suis en stage dans une Sté, et je dois ajouter des relances clients sur leur site intranet. Je ne dois en aucun cas toucher aux métadonnées car ils ont un progiciel qui fonctionne dessus.
Merci pour votre aide qui me sera bien utile.

NUMERO_CLIENT
DATE
TAUX_REMISE
TAUX_ESCOMPTE


FACTURE_LIGNE
NUMERO
NUMERO_FACTURE
NUMERO_TVA
QUANTITE
PRIX_UNIT
PRIX_TOTAL


TAXE
NUMERO
TAUX_TVA


REGLEMENT
NUMERO
DATE
MONTANT


REGLMENT_LIGNE
NUMERO
NUMERO_REGLEMENT
NUMERO_FACTURE


COUPON_REDUCTION
NUMERO
NUMERO_FACTURE
MONTANT


Je veux récupérer les clients qui n'ont pas réglé leurs factures
ainsi que le montant dû.
j'utilise cette requête mais j'ai quelques problèmes de doublon.
je précise si un client fait plusieurs règlements.
Merci pour votre aide.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
SELECT
  C.NOM,  
  CAST  (  SUM ((LF.MONTANT_TOTAL * ((100 - F.TAUX_REMISE) / 100) * ((100 - F.TAUX_ESCOMPTE) / 100))  * (1 + (T.TVA_TAUX / 100)))
 - (COALESCE ( SUM (RG.MONTANT),0) + COALESCE (SUM(P.MONTANT),0) ) AS DECIMAL (10,2)) AS DU
 
FROM
 FACTURE F 
LEFT OUTER  JOIN CLIENT C  ON
  (C.NUMERO = F.NUMERO_CLIENT)
INNER JOIN FACTURE_LIGNE LF ON
  (F.NUMERO = LF.NUMERO_FACTURE)
INNER   JOIN TAXE T ON
  (LF.NUMERO_TVA = T.NUMERO )
LEFT OUTER  JOIN REGLEMENT_LIGNE LRG ON
 ( F.NUMERO = LRG.NUMERO_FACTURE)
LEFT OUTER  JOIN REGLEMENT RG ON
  (RG.NUMERO = LRG.NUMERO_REGLEMENT)
LEFT OUTER JOIN COUPON_REDUCTION P ON
 (F.NUMERO = P.NUMERO_FACTURE)
 
GROUP BY
 C.NOM
 
HAVING
  (                 
    (
     CAST  ( SUM ((LF.MONTANT  * ((100 - F.TAUX_REMISE) / 100) * ((100 - F.TAUX_ESCOMPTE) / 100))  * (1 + (T.TVA_TAUX / 100))) AS DECIMAL (10,2))
     )
     >
     (
     COALESCE ( SUM (RG.MONTANT)  + SUM(P.MONTANT),0)
     )
 
 
)