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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
select
f.CleFacture,
f.DocumentFacture,
f.DateFacture,
tf.TypeFactureLibelle,
f.NumerFacture,
c.NomClient AS NomClient,
sum((case when ((coalesce(te.CleTypeEcriture, 0) = 1) and (e.EcritureSupprimee = 0)) then ((e.QuantiteFacturee * e.PrixFacture) * te.Multiplicateur) else 0 end)) AS `Somme1`,
sum((case when ((coalesce(te.CleTypeEcriture, 0) = 2) and (e.EcritureSupprimee = 0)) then ((e.QuantiteFacturee * e.PrixFacture) * te.Multiplicateur) else 0 end)) AS `Somme2`,
sum((case when ((coalesce(te.CleTypeEcriture, 0) = 3) and (e.EcritureSupprimee = 0)) then ((e.QuantiteFacturee * e.PrixFacture) * te.Multiplicateur) else 0 end)) AS `Somme3`,
sum((case when ((coalesce(te.CleTypeEcriture, 0) = 4) and (e.EcritureSupprimee = 0)) then ((e.QuantiteFacturee * e.PrixFacture) * te.Multiplicateur) else 0 end)) AS `Somme4`,
coalesce(f.TotalFacture, 0) AS TotalFacture,
coalesce(f.TotalFactureTTC, 0) AS TotalFactureTTC,
coalesce(
(
select sum(coalesce(r.MontantReglement, 0))
from
reglement
where
(
(r.CleFacture = f.CleFacture) and
(r.ReglementActif = 1) and
(coalesce(r.ReglementSupprime, 0) = 0))
), 0
) AS MontantRegle,
(
f.TotalFactureTTC -
coalesce(
(
select sum(coalesce(r.MontantReglement, 0))
from reglement
where
(
(r.CleFacture = f.CleFacture) and
(r.ReglementActif = 1) and
(coalesce(r.ReglementSupprime, 0) = 0))
), 0)
) AS MontantRestant,
f.StatutFacture,
f.Domaine,
coalesce(a.MontantAvoir, 0) as MontantAvoir,
coalesce(a.MontantAvoirTTC, 0) as MontantAvoirTTC,
f.MontantFactureInitial,
f.MontantFactureTTCInitial,
(
select r.DateReglement
from reglement
where
(
(r.CleFacture = f.CleFacture) and
(r.ReglementActif = 1) and
(coalesce(r.ReglementSupprime, 0) = 0)
)
order by r.DateReglement desc limit 0, 1
) AS DateReglement,
m.LibelleModeleFacture,
f.NomFacture,
a.NomAvoir
from
facture f left join
ecriture on e.CleFacture = f.CleFacture left join
typefacture tf on f.CleTF = tf.CleTF left join
typeEcriture te on e.CleTypeEcriture = te.CleTypeEcriture left join
client c on f.CleClient = c.CleClient left join
reglement r on f.CleFacture = r.CleFacture left join
avoir a on f.CleFacture = a.CleFacture left join
modeleFacture on f.CleModele = m.CleModele
where (f.StatutFacture > 0) AND (f.CleFacture = 133)
group by
f.NumeroFacture,
f.Domaine; |
Partager