Oracle
 sql >> Base de données >  >> RDS >> Oracle

SQL SELECT Somme des valeurs sans inclure les doublons

Vous devez utiliser des sous-requêtes sur int et ext pour faire la somme et joindre les sous-requêtes.

Je suggère également d'utiliser des JOIN explicites plutôt que table, table, table

ex.

SELECT emp.Name, int.Amount AS InternalCostTotal, ext.Amount AS ExternalCostTotal
FROM Employees emp
JOIN ( 
    SELECT EmployeeID, SUM(Amount) AS Amount 
    FROM InternalCosts 
    GROUP BY EmployeeID 
) int ON emp.EmployeeId = int.EmployeeID
JOIN ( 
    SELECT EmployeeID, SUM(Amount) AS Amount 
    FROM ExternalCosts 
    GROUP BY EmployeeID 
) ext ON emp.EmployeeId = ext.EmployeeID