UPDATE from SELECT using SQL Server
In SQL Server, it's possible to insert into a table using a
SELECT
statement:INSERT INTO Table (col, col2, col3)
SELECT col, col2, col3 FROM other_table WHERE sql = 'cool'
Is it also possible to update via a
SELECT
? I have a temporary table containing the values, and would like to update another table using those values. Perhaps something like this:UPDATE Table SET col1, col2
SELECT col1, col2 FROM other_table WHERE sql = 'cool'
WHERE Table.id = other_table.id
Answer:
UPDATE
Table_A
SET
Table_A.col1 = Table_B.col1,
Table_A.col2 = Table_B.col2
FROM
Some_Table AS Table_A
INNER JOIN Other_Table AS Table_B
ON Table_A.id = Table_B.id
WHERE
Table_A.col3 = 'cool'
http://stackoverflow.com/questions/2334712/update-from-select-using-sql-server
COMMENTS