【发布时间】:2019-03-31 13:44:23
【问题描述】:
我有一个table A,有 2 个主要列:Name 和 Settings。
Settings 列将有 3 个值:1、2 或 3。
例如:
表 A:
Name Settings
Andre 1
Andre 1
Betty 3
Charles 1
Charles 1
注意1个Name只能有1个Settings:1、2或3。
我还有另一个 table B,有 2 个主要列:Name 和 Type。
Type 列包含许多值,例如:'TypeA'、'TypeB'、'TypeC'......
例如:
表 B:
Name Type
Andre TypeA
Andre TypeA
Andre TypeC
Betty TypeB
Betty TypeB
Betty TypeD
Charles TypeB
Charles TypeA
Charles TypeA
.....
请注意,1 个Name 可以有多个相同或不同的Type。 我们只是在考虑TypeA 和TypeB。
现在我想使用来自table B 的'Type' 列从table A 更新Settings 列,如果:
-
table B中的Type列的值为'TypeA',然后将两个表中具有相同Name的所有记录更新为table A中Settings列上的1 @。 -
table B中的Type列的值为'TypeB',然后将两个表中具有相同Name的所有记录更新为来自@987654355 的Settings列上的2 @。 -
table B中的Type列同时具有'TypeA'和'TypeB'的值,然后将两个表中具有相同Name的所有记录更新为@ 上的3 987654361@ 列来自table A。
table A 的结果应该是这样的:
Name Settings
Andre 1
Andre 1
Andre 1
Betty 2
Charles 3
Charles 3
我该怎么做?
【问题讨论】:
标签: sql sql-server tsql sql-update