Problemet jag får är att den kan hitta tex 3 fakturor som matchar men där man harProblem med Sum
betalt 400 kr på den första, 0 kr på den andra och 300 kr på den tredje, så får
man resultata på Skuld en träff på +200 en på -200 och en på 0. Men jag vill
att den ska bara få en träff med summan 0 (200-200+0).
Kan nån hjälpa??
Faktura
aviid avibelopp
1 200
2 200
3 300
Betalning
aviid belopp
1 200
1 200
3 300
Tillgodo
aviid belopp
- -
------------------------------------------
CREATE VIEW dbo.qry_Betalning
AS
SELECT AviId, SUM(Belopp) AS belopp
FROM Betalning
GROUP BY AviId
------------------------------------------
CREATE VIEW dbo.qry_Tillgodo
AS
SELECT AviId, SUM(Belopp) AS belopp
FROM dbo.Tillgodo
GROUP BY AviId
-----------------------------------------
CREATE VIEW dbo.qry_Skuld
AS
SELECT DISTINCT Faktura.aviid as avi, person.personsnr,
( IsNull(Sum(qry_Betalning.Belopp),0) + IsNull(Sum(qry_Tillgodo.Belopp), 0) - Sum(Faktura.Avibelopp)) as Skuld
FROM ((Faktura LEFT JOIN
qry_Betalning ON Faktura.AviId = qry_Betalning.AviId) LEFT JOIN
qry_Tillgodo ON Faktura.AviId = qry_Tillgodo.AviId) LEFT JOIN
person ON person.personsnr = Faktura.personsnr
WHERE ( Kategori = 1 )
GROUP BY Faktura.Avibelopp, person.personsnr,qry_Betalning.belopp, qry_Tillgodo.belopp, Faktura.aviid
---------------------------------------------