Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Valores SQL SELECT Sum sem incluir duplicatas


Você deve usar subconsultas em int e ext para fazer a soma e juntar-se às subconsultas.

Também sugiro usar JOINs explícitos em vez de tabela, tabela, tabela

por exemplo.
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