如何做更新查询中的3表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 现在我正在寻找这样做,如果有3桌涉及这样的事情。
  UPDATE tableC c JOIN tableB b JOIN tableA a 
 我的问题是基本上…这是可能做一个UPDATE语句3表连接? 和它是什么正确的语法? 谢谢。 我要做… 
  JOIN tableB, tableA JOIN tableB JOIN tableA 
	
 答案是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 
编辑:
对于一般更新join:
  UPDATE TABLEA a JOIN TABLEB b ON a.join_colA = b.join_colB SET a.columnToUpdate = [something] 
  实现相同结果的另一种方法是根本不使用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 
 下面是包含JOIN和WHERE的Update查询。 同样的方法,我们可以使用多个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') 
一个替代的一般计划,我只是作为一个独立的答案添加,因为抨击“回答评论”将不会采取新行,没有发布整个编辑,即使它尚未完成。
 UPDATE table A JOIN table B ON {join fields} JOIN table C ON {join fields} JOIN {as many tables as you need} SET A.column = {expression} 
例:
 UPDATE person P JOIN address A ON P.home_address_id = A.id JOIN city C ON A.city_id = C.id SET P.home_zip = C.zipcode;