2010-07-08 55 views
0

如果我想通過更改其中一列中的值來更新表中的記錄,該怎麼辦?修改帶有空值的列的表

我有記錄在表中有一列爲空(空值)。我想要更改這些值並將其他表中的值插入這些記錄中。

基本上我有一列空的一列。我不想追加到表的末尾,而是從記錄1開始插入。

+0

是否有某種將兩個表連接在一起的關鍵關係? – 2010-07-08 19:48:01

回答

1

對於現有記錄,您將不得不使用UPDATE更新該列,WHERE thatColumn爲NULL。

該列中的值不應該與記錄的其餘部分有關係嗎?我能理解初始化現有記錄到一個非空值,或使用更新查詢從該列另一個表填充數據,但所有相關的原始行...

UPDATE old SET old.badColumn = new.newData 
FROM oldTable old 
JOIN newTable new on old.someID = new.someID 

這將找到與newTable匹配的oldTable中的相關數據,並將badColumn更新爲newTable中的一些數據...讓我知道是否需要更多幫助。

+0

具有空值的列意外地更改爲空;它與每個記錄中的其他列有關,因此我試圖將原始數據重新插入到該列中;但不能正確。唯一的是它插入到表格的末尾。 – vbNewbie 2010-07-08 19:41:28

+0

你需要做這樣的事情... UPDATE a set a.badColumn = b.newData from myTable a join otherTable b on a.omeid = b.someid 這是否有意義? :) – Fosco 2010-07-08 19:43:12

+0

感謝讓我試試這個快 – vbNewbie 2010-07-08 19:44:17

1

請參閱SQL Server聯機叢書的this page中的「對來自其他表的信息使用UPDATE語句」一節。

+0

嘗試了不同的組合。沒有得到它的權利 – vbNewbie 2010-07-08 19:43:18