Refresh from selected with multiple fields?

I can do the following to insert records into a table from a selection table into another table:

INSERT INTO table (field1, field2) SELECT field1,field2 FROM table2 

Can I do the same with the update? Something like this (doesn't work!):

 UPDATE table SET field1=table2.field1, field2=table2.field2 SELECT field1,field2 FROM table2 WHERE table.field0=table2.field0 

I know how to do this with only one field, but is there a way to do this with multiple fields?

+6
source share
2 answers
 UPDATE table A INNER JOIN table2 B USING (field0) SET A.field1 = B.field1,A.field2 = B.field2; 
+11
source

Yes, like this:

 UPDATE table SET field1=(select field1 from table2 WHERE field0=table1.field0) field2=(select field2 from table2 WHERE field0=table1.field0) -- WHERE some condition (optional) 
-1
source

Source: https://habr.com/ru/post/893378/


All Articles