更新查询的意外结果

问题描述

我有两个数据库mk34mk33。这些驻留在sql Server 2008 R2实例上。它们都有4列:

firstname varchar(24)
lastname varchar(25)
birthdate datetime
memo varchar(max)

我想用memomk33的值更新memo中的mk34列,其中名称dob相等。

我写了这个查询

update [mk33].dbo.CHILD
set memo = mk34.memo
--select mk34.naam,mk34.geboortedatum,mk33.memo,mk34.memo as nieuw
from
(select lower(rtrim(ltrim(replace([Firstname],' ','')  +replace([LastName],'')))) as naam,[Birthdate],memo from [mk34].dbo.CHILD)  mk34
inner join 
(select lower(rtrim(ltrim(replace([Firstname],memo from [mk33].dbo.CHILD)  mk33
on mk34.naam = mk33.naam
and mk34.Birthdate = mk33.Birthdate

但是,mk33中的所有100k +记录都已更新为mk34.memo中的第一个值,因此mk33中的所有字段现在都相同了,即使那些不在联接中的字段也是如此。

而且我不知道如何.....如果我禁用了前两行并启用了选择,则可以看到查询返回了正确的数据。

在这里想念什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)