gpt4 book ai didi

java - 如何获取表中某一列的总和(对于特定的员工ID)并将其存储在另一个表的另一列中?

转载 作者:行者123 更新时间:2023-11-29 11:24:21 25 4
gpt4 key购买 nike

我有两个表,“员工”和“费用”

员工表有两列“EmployeeID(PK)”和“Expense_Total”

费用有两列“EmployeeID”和“Expense”。 请注意,此处的 EmployeeID 不是 PK,因为一名员工可能有很多费用。我想找到所有员工的总和,然后将其插入到“员工”表中每个员工的“Expense_Total”列中。这个怎么做?我尝试了以下操作:

            PreparedStatement ps1 = con.prepareStatement("UPDATE payroll_system.Employees emp JOIN payroll_system.Expenses exp ON emp.employeeID = exp.employeeID SET emp.Expense_Total = //I need the sum here//");

最佳答案

我认为您已尝试以下查询。

如果您第一次插入意味着您在 Employess 表中没有记录,那么您可以使用此插入查询来插入费用总计:

INSERT INTO `employees`(id,expense_total) SELECT emp_id, SUM(expense) FROM expenses GROUP BY emp_id

如果您已经将数据存入员工中,则需要对员工表执行更新查询:

UPDATE employees emp SET emp.expense_total = (SELECT SUM(expense) FROM expenses WHERE emp_id = emp.id)

请尝试这个。

您可以在这里查看:http://sqlfiddle.com/#!9/3f4d67

关于java - 如何获取表中某一列的总和(对于特定的员工ID)并将其存储在另一个表的另一列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38482859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com