繁体   English   中英

从另一个表减去列的总和 - SQL select 语句

[英]Sum of column minus column from another table - SQL select statement

https://i.imgur.com/uQWh8NJ.png

我需要有关此 SQL 声明的帮助。

我不知道如何获得 null 或零作为副工资列中的空字段或如何不复制记录。

使用GROUP BYLEFT JOIN将有助于:

SELECT T1.Emp_Id, T1.Safe_Id, T1.Salary,
       SUM(T2.SubSalary) AS SubSalary,
       (T1.Salary - SUM(T2.SubSalary)) AS [Difference]
FROM TableOne T1
LEFT JOIN TableTwo T2 ON T2.Emp_Id = T1.Emp_Id AND T2.Safe_Id = T1.Safe_Id
GROUP BY T1.Emp_Id, T1.Safe_Id, T1.Salary

像这样的东西应该可以解决问题

 SELECT t1.EmployeeID
    ,t1.safe_id
    ,MAX(t1.salary)
    ,SUM(COALESCE(t2.subSalary, 0)) AS SubSalary
    ,MAX(t1.salary) - SUM(COALESCE(t2.subSalary, 0)) AS difference
FROM Table1 t1
LEFT JOIN Table2 t2 ON t1.emp_id = t2.emp_id
    AND t1.safe_id = t2.safe_id
GROUP BY t1.EmployeeID
    ,t1.safe_id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM