varios valores update una tabla registros registro otra modificar datos consultas consulta comando campo actualizar actualizacion mysql join

valores - modificar un campo en mysql



¿Cómo hacer 3 tablas de unirse en la consulta de actualización? (5)

Hice una pregunta y obtuve esta respuesta que me ayudó.

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

Ahora estoy buscando hacer esto si hay 3 tablas involucradas en algo como esto.

UPDATE tableC c JOIN tableB b JOIN tableA a

mi pregunta es básicamente ... ¿es posible hacer una combinación de 3 tablas en una instrucción UPDATE ? ¿Y cuál es la sintaxis correcta para ello? Gracias. ¿Hago el ...

JOIN tableB, tableA JOIN tableB JOIN tableA


A continuación se muestra la consulta de actualización que incluye JOIN Y WHERE ambos. De la misma forma en que podemos usar la cláusula de unión múltiple / dónde, espero que le ayude a:

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'')


Para el ejemplo de PostgreSQL:

UPDATE TableA AS a SET param_from_table_a=FALSE -- param FROM TableA FROM TableB AS b WHERE b.id=a.param_id AND a.amount <> 0;


Un plan general alternativo, que solo estoy agregando como una respuesta independiente porque el "comentario de una respuesta" maldito no tomará nuevas líneas sin publicar toda la edición, aunque aún no haya terminado.

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}

Ejemplo:

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;


Una forma alternativa de lograr el mismo resultado es no usar la palabra clave JOIN en absoluto.

UPDATE TABLE_A, TABLE_B SET TABLE_A.column_c = TABLE_B.column_c + 1 WHERE TABLE_A.join_col = TABLE_B.join_col


la respuesta es yes tu puedes

inténtalo así

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

EDITAR:

Para la actualización general unirse:

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