问题描述
我有两个数据库表mk34
和mk33
。这些驻留在sql Server 2008 R2实例上。它们都有4列:
firstname varchar(24)
lastname varchar(25)
birthdate datetime
memo varchar(max)
我想用memo
中mk33
的值更新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 (将#修改为@)