问题

在SQL Server中,可以使用SELECT语句将insert转换为表:

 INSERT INTO Table (col1, col2, col3)
SELECT col1, col2, col3 
FROM other_table 
WHERE sql = 'cool'
 

还可以通过SELECT更新吗?我有一个包含值的临时表,并想使用这些值更新另一个表.也许是这样的:

 UPDATE Table SET col1, col2
SELECT col1, col2 
FROM other_table 
WHERE sql = 'cool'
WHERE Table.id = other_table.id
 

  最佳答案

 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'
 

  相同标签的其他问题

sqlsql-servertsqlselect