【发布时间】:2019-08-20 02:19:11
【问题描述】:
我有一个table A,有 2 个主要列:Name 和 Settings。
Settings 列将有 3 个值:1、2 或 3。
例如:
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 列包含 3 个值:'TypeA'、'TypeB' 和 'TypeC'。
例如:
Name Type
Andre TypeA
Andre TypeA
Andre TypeC
Betty TypeB
Betty TypeB
Charles TypeB
Charles TypeA
Charles TypeA
请注意,1 个Name 可以有多个相同或不同的Type。我们不考虑TypeC,只考虑TypeA 和TypeB。
现在我想使用来自table B 的'Type' 列从table A 更新Settings 列,如果:
-
table B中的Type列的值为'TypeA',然后将两个表中具有相同Name的所有记录设置为来自Settings列的Settings1 @。 -
table B中的Type列的值为'TypeB',然后将两个表中具有相同Name的所有记录设置为来自@987654356 的Settings列上的2 @。 -
table B中的Type列同时具有'TypeA'和'TypeB'的值,然后将两个表中具有相同Name的所有记录设置为@ 上的3 987654362@ 列来自table A。
table A 的结果会变成这样:
Name Settings
Andre 1
Andre 1
Andre 1
Betty 2
Charles 3
Charles 3
【问题讨论】:
标签: sql sql-server tsql sql-update