【发布时间】:2020-04-27 07:58:41
【问题描述】:
假设我有Table1 和Table2,如下所示:
表1
Nmae ColA ColB
---------------
Peter 25
Jason 52
Tom 74
Jim 65
表2
Values Prize
-------------
25 ABC
50 ABC1
75 ABC2
100 ABC3
现在我想根据ColA 中的值更新Table1 中的ColB。
例如如果value >= 25 and < 50 则ABC。如果value >= 50 and < 75 那么ABC1。
期望的输出:
Name ColA ColB
----------------
Peter 25 ABC
Jason 52 ABC1
Tom 76 ABC2
Jim 65 ABC1
我试图通过加入两个表来更新 ColB 来解决这个问题,但是卡住了。我知道这可以通过使用 CASE WHEN 轻松完成。但是,我担心如果规则发生变化或发生什么,我必须修改多个 SP 中的代码。
【问题讨论】:
-
在表格上创建一个包含 ColB 计算的视图不是更好吗?这样,如果规则发生变化,您只需在一个地方进行更改,而不是更新所有数据。
标签: sql-server join sql-update