sql >> Databasteknik >  >> RDS >> Oracle

SQL SELECT Sumvärden utan att inkludera dubbletter

Du bör använda underfrågor på int och ext för att göra summeringen och gå med i underfrågorna.

Jag föreslår också att du använder explicita JOINs istället för tabell, tabell, tabell

t.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


  1. SQLAlchemy func.count på boolesk kolumn

  2. Välj data grupperade efter tid över midnatt

  3. Hur man installerar Gnatcoll Postgres på Linux Centos 7

  4. ALTER kolumner från flera tabeller i samma fråga