mysql - 更新最新记录

标签 mysql

我有以下 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/

相关文章:

php - 基于年份的MYISAM引擎在mysql中的表分区

javascript - 将 HTTPS 值发送到浏览器的 PHP 脚本

MYSQL 空间查询 - 返回包含来自单独表的点的多边形

mysql - JPA 更新与连接

mysql - 如果记录尚不存在,则插入记录的有效方法是,如果存在则获取 ID 并将其用作外键?

mysql - 从 case 语句中选择值列表

mysql - 查询多个表的总和

mysql - MySQL 查询性能缓慢

mysql - 使用javafx将图像上传到数据库

使用mysql注销的C#更新代码