来自同一个表的SQL更新字段 - 是否需要自联接?

时间:2016-04-11 17:02:59

标签: sql ms-access sql-update self-join

我希望从同一记录中的另一列填充列的空字段。我得到了它的工作,只是我不确定它是否足够稳定。

这有效:

UPDATE tblEmbryo 
SET tblEmbryo.cl_3c = [tblEmbryo].[cl_4c]
WHERE (((tblEmbryo.cl_3c) Is Null));

但我不需要自我加入吗?或者另一个在哪里指定我想要来自同一记录的字段?以后会不会出现这种意外行为?我错过了一些基本的东西吗?

那么,为什么不呢:

UPDATE tblEmbryo 
INNER JOIN tblEmbryo AS tblEmbryo_1 ON tblEmbryo.ID = tblEmbryo_1.ID 
SET tblEmbryo.cl_3c = [tblEmbryo_1].[cl_4c]
WHERE (((tblEmbryo.cl_3c) Is Null));

或者这个:

UPDATE tblEmbryo, tblEmbryo AS tblEmbryo_1 
SET tblEmbryo.cl_3c = [tblEmbryo_1].[cl_4c]
WHERE (((tblEmbryo.cl_3c) Is Null) AND ((tblEmbryo.ID)=[tblEmbryo_1].[ID]));

原谅笨拙的语法。

如果我使用最简单的第一个版本,我会犯错吗?

0 个答案:

没有答案