mysql - 如何在 UPDATE 查询中执行三个表 JOIN?

标签 mysql join

我提出了一个问题并得到了这个有帮助的回复。

   UPDATE TABLE_A a JOIN TABLE_B b
   ON a.join_col = b.join_col AND a.column_a = b.column_b
   SET a.column_c = a.column_c + 1

现在,如果有三个表涉及类似这样的事情,我希望这样做。

    UPDATE tableC c JOIN tableB b JOIN tableA a

我的问题基本上是...是否可以在 UPDATE 语句上进行三个表连接?它的正确语法是什么?

我要执行以下操作吗?

 JOIN tableB, tableA
 JOIN tableB JOIN tableA

最佳答案

答案是,可以。

尝试这样:

UPDATE TABLE_A a
    JOIN TABLE_B b ON a.join_col = b.join_col AND a.column_a = b.column_b
    JOIN TABLE_C c ON [condition]
SET a.column_c = a.column_c + 1

对于一般更新加入:

UPDATE TABLEA a
JOIN TABLEB b ON a.join_colA = b.join_colB
SET a.columnToUpdate = [something]

关于mysql - 如何在 UPDATE 查询中执行三个表 JOIN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26335360/

相关文章:

mysql 在行之间更新并将当前向右移动

php - 使用类方法提取数据库信息

php - MySQL EXISTS 返回 1 或 0

mysql - 基于主表内容的条件内连接

mysql - sql join on string = integer 以在任何 RDBMS 上工作

php - 使用 session 用户名让每个用户只投票一次

mysql - SQL语法,node js续集,一次多行

mysql - SQLite 在 WHERE 中传递多个参数

symfony - 不能在不选择至少一个根实体别名的情况下通过标识变量选择实体

sql - Postgres lateral join 引用输出行