假设我有 2 个名为 aTable1、aTable2 的表
aTable1 将 userID 设置为 identity,并包含以下数据:
userID email FirstName LastName
1 NULL C CC
2 NULL D DD
3 a@yahoo.com A AA
4 b@yahoo.com B BB
5 e@yahoo.com E EE
6 f@yahoo.com NULL NULL
7 g@yahoo.com NULL NULL
aTable2 包含以下数据:
userID email FirstName LastName Title
3 a@yahoo.com A AA student
4 b@yahoo.com B BB student
5 e@yahoo.com E EE student
NULL NULL C CC dean
NULL NULL D DD advisor
NULL f@yahoo.com NULL NULL student2
NULL g@yahoo.com NULL NULL student3
我想根据 aTable1 更新 aTable2.userID,但知道 2 个表中有空值,所以我这样做:
set ANSI_NULLS off
update aTable2
set aTable2.userID = a.userID
from aTable a, aTable2 b
where a.FirstName = b.FirstName and a.LastName = b.LastName and a.email = b.email
但是,这个更新并没有更新所有的用户ID,实际上它只更新那些电子邮件不等于null的,但我已经将ANSI_NULLS设置为关闭。我做错了什么?