在以下TSQL
代码中,第二列TypeId2
未更新。这里可能是什么问题?
declare @dd table(Id int,number int, TypeId int)
declare @tt table(Id int,TypeId1 int, TypeId2 int)
insert into @dd values(25,10, 1),(25,15, 2)
insert into @tt values(25,0,0)
update t set
t.TypeId1=case when TypeId=1 then number end,
t.TypeId2=case when TypeId=2 then number end
from @tt t inner join @dd d on d.Id=t.Id
select * from @tt;
执行上述代码并从中选择数据后,@tt
我得到以下结果:
Id TypeId1 TypeId2
-------------------
25 10 NULL
这是不可接受的,因为 的值为TypeId2
null,它应该是 15。
查看: