我有以下 mysql 查询来更新我的 tblcem_appraisal_log
表
UPDATE tblcem_appraisal_log AS tblog
INNER JOIN (
SELECT ta.id
FROM tblcem_appraisal_log AS ta
INNER JOIN tblcem_master_appraisal AS tm ON tm.id = ta.master_app_id
ORDER BY ta.id DESC
LIMIT 1) AS source ON source.id = tblog.id
SET tblog.quarter1 = tblcem_master_appraisal.quarter1 WHERE tblog.master_app_id=8;
尽管两个表中都存在quarter1
列,但我收到错误未知列tblcem_master_appraisal.quarter1
。
到底需要在 SET
中放入什么来更新 tblcem_master_appraisal
表中的值。
最佳答案
您必须选择子选择中的列并使用该表的别名:
UPDATE tblcem_appraisal_log AS tblog
INNER JOIN (
SELECT ta.id, tm.quarter1
FROM tblcem_appraisal_log AS ta
INNER JOIN tblcem_master_appraisal AS tm ON tm.id = ta.master_app_id
ORDER BY ta.id DESC
LIMIT 1) AS source ON source.id = tblog.id
SET tblog.quarter1 = source.quarter1 WHERE tblog.master_app_id=8;
关于mysql - 更新最新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32065484/