to sum() funktioner på forskellige tabeller
Jeg har en database hvor jeg gerne skulle trække et par sum ud fra.Dette er hvad jeg har laver i øjeblikket:
SELECT p.ID, p.Name, SUM(pt.hours * pt.salery) AS timeTot, SUM(fal.total) AS fakTotal
FROM Projects p LEFT OUTER JOIN
TIME_PROJECTTIME pt ON pt.caseid = p.ID LEFT OUTER JOIN
TIME_NewFaktura fa ON fa.caseID = p.ID LEFT OUTER JOIN
TIME_NewFakturaLine fal ON fal.FakturaID = fa.id
WHERE
GROUP BY p.ID, p.Name
Hvilket giver mig resultatet:
141, "Projekt1", 2575.5, 11418.75
Men det skulle være:
141, "Projekt1", 858.5, 1268.75
timeTot er altså 3 gange for stor og fakTotal er 9 gange for stor. Det lader til at have noget med joinen at gøre for jeg har 3 rækker i TIME_NewFakturaLine og 9 rækker i TIME_PROJECTTIME. Tilføjer jeg en række på en af tabellerne bliver den modsvarende sum tilsvarende større.
Hele problemet opstår fordi jeg skal ind og hente sum fra TIME_NewFakturaLine som er joinet gennem TIME_NewFaktura. Er begge sum() hentet fra tabeller direkte knyttet til Projects virker det fint.
Er der nogen der har en løsning på det?? Må meget gerne virke i MS SQL også, men er ikke et krav.
