Postaram się to wyjaśnić w możliwie najprostszy sposób, aby było to łatwe do zrozumienia :
Załóżmy, że masz tabelę Vendor
skonfigurować coś takiego:
create table Vendor (AccountTerms int, ulARAgeing varchar(50));
A następnie wstawimy kilka przykładowych wartości dla obu kolumn w Vendor
tabela:
insert into Vendor values
(0,'Test'),
(1,'Test1'),
(2,'Test2');
Następnie napiszemy oświadczenie aktualizujące, aby zaktualizować Twój ulARAgeing
kolumna na podstawie wartości w AccountTerms
kolumna w tej samej tabeli:
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
jest podobne do używania IF..ELSE
oświadczenie w większości innych języków programowania. Dlatego tutaj będziemy aktualizować istniejące ulARAgeing
wartość na inną wartość ciągu na podstawie warunku w przypadku instrukcji when. Tak więc m.in. jeśli AccountTerms = 0
wtedy zaktualizujemy wartość ulARAgeing
na „Bieżący” i tak dalej.
Aby sprawdzić, czy powyższa instrukcja działa poprawnie, wystarczy uruchomić powyższą instrukcję aktualizacji, a następnie ponownie wybrać z tabeli:
select * from Vendor;
Wynik:
+--------------+-----------------+
| AccountTerms | ulARAgeing |
+--------------+-----------------+
| 0 | Current |
| 1 | 30 Days |
| 2 | 60 Days |
+--------------+-----------------+