2011-07-22 20 views
6

mogę wykonać następujące czynności, aby dodać rekordy do tabeli z select w innej tabeli:Aktualizacja z wybierz z wieloma polami?

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

mogę zrobić to samo z aktualizacją ?? Coś takiego (nie działa!):

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

wiem jak to zrobić tylko 1 pola, ale czy jest jakiś sposób, aby to zrobić z wielu pól?

+0

Powiel możliwe ... http://stackoverflow.com/questions/2334712/sql-server-update-from-select – RiddlerDev

Odpowiedz

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

skąd pochodziło 'field0'? –

-1

Tak, tak:

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

nie robi tego biegu to samo zapytanie dwa razy, ale zwraca tylko różne atrybuty za każdym razem, gdy – ErJab

Powiązane problemy