【发布时间】:2020-12-13 11:34:51
【问题描述】:
我们公司有员工,员工从他们的工资中借了一些钱,这些借来的钱是要让我们知道的。我们还需要知道每笔交易的工资中剩余的钱,以及借来的钱。
我创建了包括薪水列的员工表
作为
CREATE TABLE `employees` (
`Employee_Id` int(11) NOT NULL AUTO_INCREMENT,
`Employee_Name` varchar(100) NOT NULL,
`Salary` decimal(10,0) NOT NULL,
PRIMARY KEY (`Employee_Id`)
) ENGINE=InnoDB AUTO_INCREMENT=2
和salary_transaction表把每笔借来的钱存到money_amount列
CREATE TABLE salary_transaction (
Salary_Transaction_Id int(11) NOT NULL AUTO_INCREMENT,
Employee_Id int(11) NOT NULL,
money_amount decimal(10,0) NOT NULL,
PRIMARY KEY (Salary_Transaction_Id)
) ENGINE=InnoDB AUTO_INCREMENT=3
这是我的查询,问题是它没有计算特定员工借用的 money_amount 的累计总和。
SELECT t.Salary_Transaction_Id,
t.Employee_Id,t.money_amount,
sum(t.money_amount) as Total_borrowed,
e.salary-sum(t.money_amount) as remaining from salary_transaction t
JOIN
(SELECT salary,Employee_Id,Employee_Name from employees ) e
ON
t.Employee_Id = e.Employee_Id GROUP by t.salary_transaction_id
编辑
我用脚本提供了我的问题
编辑 2
预期的总借用值
【问题讨论】: