How do I UPDATE from a SELECT in SQL Server?

Spread the love

Question Description

In SQL Server, it’s possible to insert into a table using a SELECT statement:

    INSERT INTO Table (col1, col2, col3)
    SELECT col1, 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

Practice As Follows

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'

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.