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
| create function [dbo].[etat_solde_finale] ( @date date) returns table
as
return (select b.libellé,t.Somme from ((select S1.date_reglement,S1.code_banque,(S1.somme-S2.somme) Somme
from solde_destinataire S1 join solde_remetante S2
on S1.code_banque=S2.code_banque and S1.date_reglement=S2.date_reglement where S1.date_reglement=@date)
union
( select S1.date_reglement,S1.code_banque,S1.somme Somme from solde_destinataire S1 left outer join solde_remetante S2
on S1.code_banque=S2.code_banque and S1.date_reglement=S2.date_reglement
where S1.code_banque not in ( select S1.code_banque
from solde_destinataire S1 join solde_remetante S2
on S1.code_banque=S2.code_banque and S1.date_reglement=S2.date_reglement) and S1.date_reglement=@date )
union
( select S2.date_reglement,S2.code_banque,(S2.somme * -1) Somme from solde_destinataire S1 right outer join solde_remetante S2
on S1.code_banque=S2.code_banque where S2.code_banque not in ( select S2.code_banque
from solde_destinataire S1 join solde_remetante S2
on S1.code_banque=S2.code_banque and S1.date_reglement=S2.date_reglement)
and S2.date_reglement=@date
)
) as t full join bank b on t.code_banque=b.id_banq
) |
Partager