我有这样的表:
name | salary
Tom | 10000
Mary | 20000
Jack | 30000
Lisa | 40000
Jake | 60000
我需要一个更新查询来根据它包含的值更新salary列。
工资需要增加:
只需使用UPDATE
语句和CASE
语句,其中包含所需的逻辑:
UPDATE SalaryTable
SET Salary =
(CASE WHEN Salary BETWEEN 10000 AND 14999 THEN Salary + 5000
WHEN Salary BETWEEN 15000 AND 19999 THEN Salary + 7000
WHEN Salary BETWEEN 20000 AND 29999 THEN Salary + 8000
WHEN Salary BETWEEN 40000 AND 59000 THEN Salary + 10000
ELSE Salary
END)
我使用了BETWEEN
,它计算大于或等于和小于或等于,因此值如14999
。
此外,在< code>30000和< code>40000之间有一个间隙,这个间隙没有被发现,但我认为这是因为它是伪数据。
参考:
SQL BETWEEN
SQL案例
像这样:
UPDATE YourTable
SET salary = CASE
WHEN salary > 10000 AND salary <= 15000 THEN salary + 5000
WHEN salary > 15000 AND salary <=20000 THEN salary + 7000
.
.
.
END
尝试在UPDATE命令中使用CASE语句
UPDATE
[yourtablename]
SET
salary =
CASE
WHEN salary BETWEEN 10000 AND 15000 THEN salary + 5000
WHEN salary BETWEEN 15000 AND 20000 THEN salary + 7000
WHEN salary BETWEEN 20000 AND 30000 THEN salary + 8000
WHEN salary BETWEEN 40000 AND 60000 THEN salary + 10000
ELSE salary
END
问题内容: 这个问题已经在这里有了答案 : SQL UPDATE SET哪一列等于另一列引用的相关表中的值? (10个答案) 7年前关闭。 我有两张桌子 table1(id,item,price)值: .... table2(id,item,price)值: 现在我要: 我该怎么做? 问题答案: 这样的事情应该做到: 您也可以尝试以下操作:
Spring批处理 不知道如何实现这一点,但要求是假设我们有条件A/B: > 如果是A-我必须在表D/E/F中更新/删除/插入 如果是B-我必须更新/删除/插入表G/H/I 该事务应该在单个事务中完成,这意味着在条件a下,我必须完成所有3个表的更新-D、E、F。如果任何表失败,则不应部分完成该事务。 正在考虑分类器复合项编写器,但不确定它是否是单个事务。
问题内容: 我有一个表的结构为 现在,我需要执行一个查询, **表中已经 存在 if的 更新 ,如果不是,则在表3中插入记录作为新记录。 这就是我现在在代码中得到的 问题答案: 您可以使用SQL Server中的语法执行“ upsert”操作: 否则,您可以使用类似以下内容的方法:
我有一个pandas数据帧,其中3列X、Y和Z用于分组。我想基于代码中显示的条件为每个组更新列B(或将其存储在单独的列中)。但我得到的最后结果是零。我不确定我做错了什么。 下面是供参考的表格和代码:
问题内容: 从美学角度和性能角度来看,基于条件将项目列表拆分为多个列表的最佳方法是什么?相当于: 有没有更优雅的方法可以做到这一点? 更新:这是实际的用例,以更好地解释我正在尝试做的事情: 问题答案: 有没有更优雅的方法可以做到这一点? 该代码完全可读,而且非常清晰! 再次,这很好! 使用集合可能会稍微改善性能,但这是微不足道的差异,而且我发现列表理解要容易阅读得多,并且你不必担心顺序被弄乱了,重
在本章中,我们将讨论Axure RP中使用的条件逻辑。 如果 - 然后 - 在Axure中 与任何其他编程工具一样,Axure也支持条件逻辑,以在原型中创建增强的交互。 一旦熟悉了如何提供交互,为交互提供条件逻辑就是下一个层次。 以下是条件逻辑的简单流程 - 如果,单击特定小部件/屏幕 然后,执行特定的操作/交互 否则,保持/更改小部件或屏幕的状态 为了更好地理解这一点,让我们从前面的例子中恢复流