Odnosno, moglo bi i ovako (testiraj obavezno), bar ja ne znam za bitno kraći način, a da se ne koriste UDF, što je opet verzija ovog ili onog gore.
Code:
SELECT t.KupacID, t.Ime,
ISNULL(t.SumaUplata,0) AS Suma_Uplata,
ISNULL(SUM(Nalozi.vrijednost_naloga),0) AS Suma_Naloga,
ISNULL(t.SumaUplata,0)-ISNULL(SUM(Nalozi.vrijednost_naloga),0) AS Saldo
FROM
(SELECT Kupci.KupacID, Kupci.Ime, SUM(U.vrijednost) AS SumaUplata
FROM Kupci
LEFT JOIN Uplate U ON Kupci.KupacID = U.KupacID
GROUP BY Kupci.KupacID, Kupci.Ime) AS t
LEFT JOIN Nalozi ON t.KupacID = Nalozi.KupacID
GROUP BY t.KupacID, t.ime, t.SumaUplata
Tabele u kojima su podaci su sa imenima: Kupci, Uplate, Nalozi.
A može i ovako, a ti sam dodaj ono ISNULL:
Code:
SELECT K.kupacid,K.Ime,
(SELECT SUM(vrijednost) FROM Uplate where kupacId=K.kupacId),
(SELECT SUM(vrijednost_naloga) FROM Nalozi where kupacid=K.kupacid),
(SELECT SUM(vrijednost) FROM Uplate where kupacid=K.kupacId)-
(SELECT SUM(vrijednost_naloga) FROM Nalozi where kupacId=K.kupacId)
FROM Kupci AS K
Commercial-Free !!!