子查询工作正常,但使用更新时,weired结果即将到来

时间:2017-10-21 06:48:13

标签: mysql sql database

updaTE person.PersonPhone set PhoneNumber=Replace(PhoneNumber,Right(PhoneNumber,2),'90') 
where PhoneNumber IN
(SELECT Top (3) PhoneNumber from person.PersonPhone
where PhoneNumber like '%89')

选择前三名工作正常,但当我使用此更新时,大约有104条记录被更新。以89结尾的总记录数为200,但更新了104条记录。

1 个答案:

答案 0 :(得分:0)

将更新更改为选择以查看由于IN子句而获得的行。请注意,重复的电话号码将导致“IN TOP(3)”返回超过3条记录。