2013-07-25 93 views

回答

1

使用公共列來查找匹配的記錄:

UPDATE table1 
SET column1 = (SELECT column2 
       FROM table2 
       WHERE table2.Name = table1.Name) 
+0

謝謝@CL!有用 ) – drastega

0

它不會工作,因爲table1.column1只需要一個值。你實際做的是設置table1.column1 =來自table2.column2的所有結果。

你可能會在兩個表聯合起來在一個共同的列或鍵

0

因爲嵌套select返回多行可能。您嘗試將table2中的所有數據放入表1中的1個元素中。

0

Column1是否只是在列的下方獲得相同的值?否則,您需要在此更新中執行JOIN,並根據連接設置Column1 = Column2。

+0

謝謝@Jimmy Smith! – drastega

0

您不鏈接兩個表 ,因此它試圖將所有column2值放入每個table1行。

連接兩個與現場一起如 從表2,其中table1.ColumnA = tables2.ColumnA

0

爲什麼你的說法是不工作的原因是因爲你告訴更新表1組列1 = COLUMN2 它將所有column2的值放入table1中的每個column1單元格中。你想要更多的東西一樣:

UPDATE 
    table1 
SET 
    table1.column1 = table2.column2 
FROM 
    table1 
INNER JOIN 
    table2 
ON 
    table1.id = table2.table1_id 
+0

謝謝@css! – drastega

相關問題