Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2012 具有重复记录的表中的Sql server更新查询_Sql Server 2012 - Fatal编程技术网

Sql server 2012 具有重复记录的表中的Sql server更新查询

Sql server 2012 具有重复记录的表中的Sql server更新查询,sql-server-2012,Sql Server 2012,我想知道使用重复行进行更新时会发生什么情况,例如: Table 1: Email StatusID Status phil@gmail.com NULL dome@yahoo.es 1 Busy phil@gmail.com 2 Online dome@yahoo.es NULL Table 2: Email Name

我想知道使用重复行进行更新时会发生什么情况,例如:

Table 1:

Email               StatusID   Status
phil@gmail.com        NULL      
dome@yahoo.es         1         Busy
phil@gmail.com        2         Online
dome@yahoo.es         NULL      

Table 2:

Email            Name             RejectionStatusID  RejectionStatus  
dome@yahoo.es    Dome                     1               
phil@gmail.com   Phil                     2
结果如何

Update Table2
SET RejectionStatusID = StatusID,
RejectionStatus = Status
FROM Table2 Inner Join Table1
ON Table2.Email = Table1.Email
我想知道复制的是哪一个,为什么???不是很确定!!!当然,我做了询问,知道发生了什么,但为什么?只是想要一个解释。。。 谢谢

编辑: 这是一个例子,这就是空值的情况

来自BoL

如果UPDATE语句包含FROM子句,而FROM子句的指定方式没有使每次更新的列引用只有一个值可用,则UPDATE语句的结果是未定义的,即UPDATE语句是不确定的