sql >> Base de Datos >  >> RDS >> Oracle

SQL SELECT Sumar valores sin incluir duplicados

Debe usar subconsultas en int y ext para hacer la suma y unirse a las subconsultas.

También sugiero usar JOINs explícitos en lugar de tabla, tabla, tabla

por ejemplo

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