您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

根据另一列的值更新一列

根据另一列的值更新一列

我将尝试以一种尽可能简单的方式来解释这一点,以便于理解:

假设您有一个这样的表Vendor设置:

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

然后,我们将为表中的两列插入一些样本值Vendor

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

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

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

CASEWHENIF..ELSE大多数其他编程语言中的using语句相似。因此,这里我们将ulARAgeing根据when语句的情况将现有值更新为不同的字符串值。因此,例如对于if,AccountTerms = 0我们将其值更新为ulARAgeing“ Current”,依此类推。

要检查上面的语句是否正常工作,您只需要运行上面的update语句,然后再次从表中选择:

 select * from Vendor;

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

**SQL Fiddle Demo**

其他 2022/1/1 18:37:32 有418人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶