我有两个表,“员工”和“费用”
员工表有两列“EmployeeID(PK)”和“Expense_Total”
费用有两列“EmployeeID”和“Expense”。 请注意,这里的EmployeeID不是PK,因为一个员工可能有很多费用。我想找到所有员工的总和,然后将其插入“员工”表中的“Expense_Total”列,为每个员工。这该怎么做?我尝试过以下方法:
$uri_parts = explode('person', $_SERVER['REQUEST_URI'], 2);
echo $uri_parts[1]; // will return /10
答案 0 :(得分:1)
我认为您已尝试以下查询。
如果您第一次插入意味着您在Employess Table中没有记录,那么您可以使用此插入查询来插入费用总额:
INSERT INTO `employees`(id,expense_total) SELECT emp_id, SUM(expense) FROM expenses GROUP BY emp_id
如果您已经有数据进入Employees而不是需要在Employees表中执行Update Query:
UPDATE employees emp SET emp.expense_total = (SELECT SUM(expense) FROM expenses WHERE emp_id = emp.id)
请试一试。
您可以在此处查看:http://sqlfiddle.com/#!9/3f4d67
答案 1 :(得分:0)
UPDATE
Employees em
LEFT JOIN(
SELECT
e.employeeID AS employeeID,
SUM(e.expense) AS totAmnt
FROM
Expense e
GROUP BY
e.employeeID) AS t
ON t.employeeID = em.employeeID
SET
em.Expense_Total = IFNULL(t.totAmnt,0);
再见