我将尝试尽可能以简单的方式解释这一点,以便于理解:
假设你有一张桌子Vendor
设置如下:
create table Vendor (AccountTerms int, ulARAgeing varchar(50));
然后,我们将为两列插入一些示例值Vendor
table:
insert into Vendor values
(0,'Test'),
(1,'Test1'),
(2,'Test2');
接下来,我们将编写一个更新语句来更新您的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);
CASE WHEN
类似于使用IF..ELSE
大多数其他编程语言中的语句。所以,这里我们将更新现有的ulARAgeing
根据 case when 语句中的条件将 value 转换为不同的字符串值。所以,例如如果AccountTerms = 0
然后我们将更新值ulARAgeing
到“当前”等等。
要检查上述语句是否正确运行,只需运行上面的更新语句,然后再次从表中选择:
select * from Vendor;
Result:
+--------------+-----------------+
| AccountTerms | ulARAgeing |
+--------------+-----------------+
| 0 | Current |
| 1 | 30 Days |
| 2 | 60 Days |
+--------------+-----------------+
SQL Fiddle Demo