2015-07-21 66 views
0

我有兩個表:Set1和SearchInfo。他們看起來像這樣:從一個表插入列到另一個

Set1 
SearchID | Position 
3   1 
1   7 
3   4 

SearchInfo 
SearchID | SearchDate 
1   6 
2   8 
3   9 

我想將列Searchdate添加到Set1並使用SearchID作爲關鍵。這是我曾嘗試:

ALTER TABLE Set1 ADD COLUMN SearchDate1 DATETIME; 
INSERT INTO Set1 (SearchDate1) SELECT b.SearchDate FROM Set1 a 
LEFT OUTER JOIN SearchInfo b ON a.SearchID=b.SearchID; 

然而,這是我所得到的

Set1 
SearchID | Position | SearchDate1 
3   1   
1   7   
3   4 
         x 
         x 
         x 

爲反對:

Set1 
SearchID | Position | SearchDate1 
3   1   9 
1   7   6 
3   4   9 
+0

你想要一個更新,而不是一個INSERT。 –

回答

0

你想要的是:這將更新列你已經成功了。你不需要插入任何東西

Update SET1 
Set SearchDate = si.SearchDate 
From Set1 s 
inner join SearchInfo si 
where s.SearchID = si.SearchID 
+0

這是我做過什麼:UPDATE SET1 設置a.SearchDate1 = b.SearchDate FROM SET1一個 LEFT OUTER JOIN SearchInfo b ON a.SearchID1 = b.SearchID WHERE a.SearchID1 = b.SearchID;但是我在「。」附近出現語法錯誤。 – MAS

+0

@MAS你不需要Set a.SearchDate1 ...只需設置SearchDate1它會知道你在Set1中的意思是因爲上一行 –