我问了一个问题并得到了这个答复.
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
Run Code Online (Sandbox Code Playgroud)
现在我希望这样做,如果有3个表涉及这样的事情.
UPDATE tableC c JOIN tableB b JOIN tableA a
Run Code Online (Sandbox Code Playgroud)
我的问题基本上是...这可以在UPDATE声明中做3个表连接吗?它的正确语法是什么?谢谢.我做的......
JOIN tableB, tableA
JOIN tableB JOIN tableA
Run Code Online (Sandbox Code Playgroud)
ech*_*_Me 780
答案是yes你可以
试试吧
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
Run Code Online (Sandbox Code Playgroud)
编辑:
对于一般更新加入:
UPDATE TABLEA a
JOIN TABLEB b ON a.join_colA = b.join_colB
SET a.columnToUpdate = [something]
Run Code Online (Sandbox Code Playgroud)
Mat*_*ius 40
实现相同结果的替代方法是根本不使用JOIN关键字.
UPDATE TABLE_A, TABLE_B
SET TABLE_A.column_c = TABLE_B.column_c + 1
WHERE TABLE_A.join_col = TABLE_B.join_col
Run Code Online (Sandbox Code Playgroud)
小智 7
以下是包含JOIN&WHERE两者的更新查询.同样我们可以使用多个join/where子句,希望它能帮到你: -
UPDATE opportunities_cstm oc JOIN opportunities o ON oc.id_c = o.id
SET oc.forecast_stage_c = 'APX'
WHERE o.deleted = 0
AND o.sales_stage IN('ABC','PQR','XYZ')
Run Code Online (Sandbox Code Playgroud)
是的,您可以为更新语句执行三表连接。这是一个例子:
UPDATE customer_table c
JOIN
employee_table e
ON c.city_id = e.city_id
JOIN
anyother_table a
ON a.someID = e.someID
SET c.active = "Yes"
WHERE c.city = "New york";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
443235 次 |
| 最近记录: |