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!