爲什麼這種結構不是在SQLite的工作:SQLite。 「UPDATE table1 SET column1 =(SELECT column2 FROM table2);」不工作
UPDATE table1 SET column1 = (SELECT column2 FROM table2);
其中列1列2和具有相同的行數和相同類型。
爲什麼這種結構不是在SQLite的工作:SQLite。 「UPDATE table1 SET column1 =(SELECT column2 FROM table2);」不工作
UPDATE table1 SET column1 = (SELECT column2 FROM table2);
其中列1列2和具有相同的行數和相同類型。
使用公共列來查找匹配的記錄:
UPDATE table1
SET column1 = (SELECT column2
FROM table2
WHERE table2.Name = table1.Name)
謝謝@CL!有用 ) – drastega
它不會工作,因爲table1.column1只需要一個值。你實際做的是設置table1.column1 =來自table2.column2的所有結果。
你可能會在兩個表聯合起來在一個共同的列或鍵
因爲嵌套select返回多行可能。您嘗試將table2中的所有數據放入表1中的1個元素中。
您不鏈接兩個表 ,因此它試圖將所有column2值放入每個table1行。
連接兩個與現場一起如 從表2,其中table1.ColumnA = tables2.ColumnA
爲什麼你的說法是不工作的原因是因爲你告訴更新表1組列1 = COLUMN2 它將所有column2
的值放入table1中的每個column1
單元格中。你想要更多的東西一樣:
UPDATE
table1
SET
table1.column1 = table2.column2
FROM
table1
INNER JOIN
table2
ON
table1.id = table2.table1_id
謝謝@css! – drastega
這是不行的是有兩種表之間的任何公共列? –
是的,這是專欄名稱 – drastega