Saluti a tutti, ho 3 tabelle:
utenti -> (id, cognome, nome)
prestazioni -> (id, id_utente, importo)
pagamenti-> (id, id_utente, importo)

vorrei ottenere una lista di tutti gli utenti con il cognome e relativo saldo (dato dalla differenza tra il totale delle prestazioni e il totale dei pagamenti).

ho provato con la query più ovvia:

codice:
SELECT utenti.cognome, utenti.id, (Sum( prestazioni.importo )  - Sum( pagamenti.importo ) 
) AS saldo
FROM utenti
LEFT  JOIN prestazioni ON prestazioni.id_utente = utenti.id
LEFT  JOIN pagamenti ON pagamenti.id_utente = utenti.id
GROUP  BY utenti.id
ma mi restituisce numeri errati (esempio: ho due prestazioni, ed un solo pagamento, allora mi somma due volte l'importo del pagamento).

Dove sbaglio? Grazie in anticipo per l'aiuto!