2011-07-22 200 views
6

我可以做以下將記錄插入到表從選擇其它表:從多個字段中選擇更新?

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

我可以做一個更新相同? 這樣的事情(不工作!):

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

我知道如何只用1場做到這一點,但有沒有辦法用多個字段做呢?

+0

可能重複... http://stackoverflow.com/questions/2334712/sql-server-update-from-select – RiddlerDev

回答

11
UPDATE table A INNER JOIN table2 B USING (field0) 
SET A.field1 = B.field1,A.field2 = B.field2; 
+0

'field0'從哪裏來? –

-1

是的,是這樣的:

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) 
+0

沒有此運行相同的查詢兩次,但每次只返回不同的屬性 – ErJab