1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| WITH
CTE AS
(
select employes.nom as [Nom],sum(avances.montant-prelevements.montant) as [Solde]
from employes,avances,solde,prelevements
where employes.matricule=avances.matricule and avances.id_avance=solde.id_avance and prelevements.id_prelevement=solde.id_prelevement
group by employes.nom,(avances.montant)
having sum(avances.montant-prelevements.montant) <> '0'
union all
select employes.nom as [Nom],avances.montant as [Solde]
from avances,employes
where employes.matricule=avances.matricule and avances.id_avance not in (select id_avance from solde)
)
SELECT employes.nom
, SUM([Solde]) AS [Solde]
FROM CTE |