Ett sista litet fel i min sql.... Om du skapar en vy/fråga som grupperar Betalning och Tillgodo så lösser det sig: Tack så väldigt mycket för svaret, men det blir tyvärr inte riktigt rätt iaf :( Skrev fel i frågan. Tog qrySelectSumBetalning två gånger. Försök med: Jag hade sett det tidigare, så den förändringen hjälpte tyvärr inte....Join blir lite fel...?
SELECT DISTINCT medlem.medlemsnr,
((IsNull(Sum(Betalning.belopp),0) + IsNull(Sum(Tillgodo.belopp),0))-
Sum(Faktura.Avibelopp)) as SkuldLT
FROM medlem
inner join
(Faktura left join Betalning on Betalning.FakId = Faktura.FakId)
on Medlem.Medlemsnr = Faktura.Medlemsnr
left join Tillgodo on Tillgodo.FakId = Faktura.FakId
WHERE medlem.medlemsnr = 11
GROUP BY medlem.Medlemsnr
Tabell: Faktura
FakId FakBelopp
1 100
2 200
Problemet är att jag i denna tabell är att det kan finnas fler rader med samma id, då tar han dom raderna och sumerar summan i Fakbelopp, alltså Fakbelopp blir för Fakid 1 200 kr (2 radar i Betalning blir i Faktura 100+100)
Tabell: Betalning
FakId Belopp
1 50
1 50
2 200
Felet är att han då får 2 träffar för fakid 1 och då gör 100+100
Någon som har ngt tips?
/TackSv: Join blir lite fel...?
Fråga: qrySelectSumBetalning
SELECT Betalning.FakId, Sum(Betalning.belopp) AS belopp
FROM Betalning
GROUP BY Betalning.FakId
Fråga: qrySelectSumTillgodo
SELECT Tillgodo.FakId, Sum(Tillgodo.belopp) AS belopp
FROM Tillgodo
GROUP BY Tillgodo.FakId
Summerande fråga:
SELECT medlem.medlemsnr, IsNull(qrySelectSumBetalning.Belopp, 0) + IsNull(qrySelectSumBetalning.Belopp, 0) - Sum(Faktura.Avibelopp) as SkuldLT
FROM ((Faktura LEFT JOIN
qrySelectSumBetalning ON Faktura.FakId = qrySelectSumBetalning.FakId) LEFT JOIN
qrySelectSumTillgodo ON Faktura.FakId = qrySelectSumTillgodo.FakId) LEFT JOIN
medlem ON Medlem.Medlemsnr = Faktura.Medlemsnr
WHERE Faktura.Medlemsnr = 11
GROUP BY medlem.MedlemsnrSv: Join blir lite fel...?
SkuldLT blir -1088 för en person, så det verkar inte som han köper när 2 belopp är lika i Betalning, tabellerna för honom ser ut såhär:
Faktura:
FakId AviBelopp
70328 1020
79371 1056
85592 1088
87175 1088
88522 969
Betalning:
FakId Belopp
70328 1020
79371 1000
79371 56
85592 1088
87175 1088
88522 969
Tillgodo:
FakId Belopp
- -Sv: Join blir lite fel...?
SELECT medlem.medlemsnr, IsNull(qrySelectSumBetalning.Belopp, 0) + IsNull(qrySelectSumTillgodo.Belopp, 0) - Sum(Faktura.Avibelopp) as SkuldLT
FROM ((Faktura LEFT JOIN
qrySelectSumBetalning ON Faktura.FakId = qrySelectSumBetalning.FakId) LEFT JOIN
qrySelectSumTillgodo ON Faktura.FakId = qrySelectSumTillgodo.FakId) LEFT JOIN
medlem ON Medlem.Medlemsnr = Faktura.Medlemsnr
WHERE Faktura.Medlemsnr = 11
GROUP BY medlem.MedlemsnrSv: Join blir lite fel...?
Det är konstigt dethär, som jag sa tidigare när beloppet i Betalning är exakt samma på 2 eller flera rader så tar han bara värdet en gång???