Ще се опитам да обясня това по прост начин, доколкото е възможно, така че да е лесно за разбиране:
Да приемем, че имате таблица Vendor
настройте нещо подобно:
create table Vendor (AccountTerms int, ulARAgeing varchar(50));
След това ще вмъкнем някои примерни стойности за двете колони в Vendor
таблица:
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. Така, за напр. ако AccountTerms = 0
тогава ще актуализираме стойността за ulARAgeing
към `Текущ' и т.н.
За да проверите дали горният оператор работи правилно, просто трябва да изпълните акта за актуализиране по-горе и след това да изберете отново от таблицата:
select * from Vendor;
Резултат:
+--------------+-----------------+
| AccountTerms | ulARAgeing |
+--------------+-----------------+
| 0 | Current |
| 1 | 30 Days |
| 2 | 60 Days |
+--------------+-----------------+