sql >> Databáze >  >> RDS >> Oracle

SQL SELECT Součet hodnot bez zahrnutí duplikátů

Měli byste použít poddotazy na int a ext, abyste provedli sčítání a připojili se k poddotazům.

Také doporučuji používat explicitní JOINy ​​spíše než table, table, table

např.

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. MySQL INSERT INTO / ON DUPLICATE KEY s problémem s příkazem SELECT

  2. Návrh normalizační databáze pro získání 5 nejbližších sousedů pomocí prostorového indexu MySQL

  3. mysql dotaz pro získání počtu podle skupiny a celkového počtu

  4. Nasazení vysoce dostupných databází a clusterů pomocí ClusterControl