如何更新另一个表TableA
中找到的Table B
值列,具体取决于Type
TableA
E.g。
表A
Location Type Value
USA Dog 20
UK Cat 30
表B
Dog Cat Rabbit
50 70 100
逻辑:
tableA.Value = Dog
则更新TableA.Value = TableB.Dog
tableA.Value = Cat
则更新TableA.Value = TableB.Cat
tableA.Value = Rabbit
则更新TableA.Value = TableB.Rabbit
注意:只有3个选项,所以硬编码就可以了。
结果
表A
Location Type Value
USA Dog 50
UK Cat 70
答案 0 :(得分:6)
像
这样的东西UPDATE TableA
SET Value =
CASE Type
WHEN 'DOG' then B.Dog
WHEN 'CAT' then B.Cat
WHEN 'RABBIT' then B.Rabbit
ELSE Value
END
FROM TableB b