2011-07-22 12 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

संबंधित मुद्दे