@Roger Ray what version of My SQL and what was your query, as this DOES infact function as stated. Col2)) UPDATE CTE SET Col1 = _Col1, Col2 = _Col2 statement on its own first to sanity check the results but it does requires you to alias the columns as above if they are named the same in source and target tables.
Somewhat related, I often like to write my UPDATE queries as SELECT statements first so that I can see the data that will be updated before I execute. This also has the same limitation as the proprietary Thank you!
This is the UPDATE [Sales_Lead].[dbo].[Sales_Import] SET [Account Number] = (SELECT Retrieve Account Number.
I have a database with account numbers and card numbers.
Lead ID) WHERE Sales_Import.leadid = (SELECT Retrieve Account Number.
This works by using UPDATE to iterate over the INNER JOIN.
Sebastian covers a technique for this in a recent blog post: sqlity.net/en/2867/update-from-select This will tend to work across almost all DBMS which means learn once, execute everywhere. Col2 AS _Col2 FROM T1 JOIN T2 ON T1= T2/*Where clause added to exclude rows that are the same in both tables Handles NULL values correctly*/ WHERE EXISTS(SELECT T1. I know this is old, but just wanted to say this one worked for me.
If that is more important to you than performance you might prefer this answer, especially if your update is a one off to correct some data. My server wont allow FROM to be used in an UPDATE statement. This may be a niche reason to perform an update (for example, mainly used in a procedure), or may be obvious to others, but it should also be stated that you can perform an update-select statement without using join (in case the tables you're updating between have no common field).