gpt4 book ai didi

sql - 根据一列的值更新另一列的值

转载 作者:行者123 更新时间:2023-12-02 01:17:15 25 4
gpt4 key购买 nike

我有一个名为 Vendor 的表,在该表中我有一个名为 AccountTerms 的列,它仅显示一个值(即 0、1、2、3)等。我还想使用一列 (ulARAgeing) 来反射(reflect)该值的含义,例如:

0: Current
1: 30 Days
2: 60 Days

等等...

我需要一个脚本,该脚本将查看 AccountTerms 中的值,然后更新 ulARAgeing 以显示上面显示的单词值。我该怎么做?

最佳答案

我将尝试尽可能简单地解释这一点,以便于理解:

假设您有一个表 Vendor 设置如下:

create table Vendor (AccountTerms int, ulARAgeing varchar(50));

然后,我们将为 Vendor 表中的两列插入一些示例值:

insert into Vendor values
(0,'Test'),
(1,'Test1'),
(2,'Test2');

接下来,我们将编写一条更新语句,根据同一个表中 AccountTerms 列中的值更新您的 ulARAgeing 列:

update vendor 
set ulARAgeing = (CASE
WHEN AccountTerms = 0
THEN 'Current'
WHEN AccountTerms = 1
THEN '30 Days'
WHEN AccountTerms = 2
THEN '60 Days'
END);

CASE WHEN 类似于在大多数其他编程语言中使用 IF..ELSE 语句。因此,这里我们将根据 case when 语句中的条件将现有的 ulARAgeing 值更新为不同的字符串值。所以,例如如果 AccountTerms = 0,那么我们会将 ulARAgeing 的值更新为“Current”,依此类推。

要检查上述语句是否正确运行,您只需运行上面的更新语句,然后再次从表中选择:

 select * from Vendor; 

结果:

+--------------+-----------------+
| AccountTerms | ulARAgeing |
+--------------+-----------------+
| 0 | Current |
| 1 | 30 Days |
| 2 | 60 Days |
+--------------+-----------------+

SQL Fiddle Demo

关于sql - 根据一列的值更新另一列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32102348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com