2010-07-08 54 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