Php 需要通过连接2个表进行更新查询
我需要帮助找出可能的解决办法。我在这个问题上结巴了 表1-hs\U hr\U员工 emp_编号 雇员身份证 emp_姓氏 加入日期 表2-人力厅休假权利 emp_编号 天数小数点后19,15 使用小数点8,4的天数 使用天数 离开类型 我需要加入这些表,并获得加入日期,并使用0.5加法进行更新。如果差分电流dt-dt。大于10的连接 这是我的问题Php 需要通过连接2个表进行更新查询,php,mysql,Php,Mysql,我需要帮助找出可能的解决办法。我在这个问题上结巴了 表1-hs\U hr\U员工 emp_编号 雇员身份证 emp_姓氏 加入日期 表2-人力厅休假权利 emp_编号 天数小数点后19,15 使用小数点8,4的天数 使用天数 离开类型 我需要加入这些表,并获得加入日期,并使用0.5加法进行更新。如果差分电流dt-dt。大于10的连接 这是我的问题 UPDATE ohrm_leave_entitlement SET no_of_days = no_of_days + 0.5 WHERE
UPDATE ohrm_leave_entitlement
SET no_of_days = no_of_days + 0.5
WHERE
(
ohrm_leave_entitlement.emp_number = hs_hr_employee.emp_number
AND
hs_hr_employee.joined_date < DATE_SUB( NOW(), INTERVAL 10 DAY)
AND
leave_type_id=2
)
但是它不起作用
UPDATE ohrm_leave_entitlement a
INNER JOIN hs_hr_employee b
ON a.emp_number = b.emp_number
SET a.leave_type_id = a.leave_type_id + 0.5
WHERE DATEDIFF(NOW(), b.joined_date) > 10
您可以在下面尝试:
UPDATE ohrm_leave_entitlement , hs_hr_employee
SET ohrm_leave_entitlement.leave_type_id = ohrm_leave_entitlement.leave_type_id + 0.5
WHERE ohrm_leave_entitlement.emp_number = hs_hr_employee.emp_number
AND hs_hr_employee.joined_date < DATE_SUB( NOW(), INTERVAL 10 DAY)
您可以使用以下选项:
UPDATE ohrm_leave_entitlement
SET leave_type_id = leave_type_id + 0.5
WHERE
ohrm_leave_entitlement.emp_number IN (SELECT hs_hr_employee.emp_number FROM hs_hr_employee
WHERE hs_hr_employee.joined_date < DATE_SUB( NOW(), INTERVAL 10 DAY))