Jag ska försöka förklara detta på ett enkelt sätt så mycket som möjligt så att det är lätt att förstå :
Låt oss anta att du har en tabell Vendor
ställ in något så här:
create table Vendor (AccountTerms int, ulARAgeing varchar(50));
Och sedan kommer vi att infoga några exempelvärden för båda kolumnerna i Vendor
tabell:
insert into Vendor values
(0,'Test'),
(1,'Test1'),
(2,'Test2');
Därefter kommer vi att skriva ett uppdateringsmeddelande för att uppdatera din ulARAgeing
kolumn baserat på värdena i AccountTerms
kolumn i samma tabell:
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
liknar att använda IF..ELSE
uttalande i de flesta andra programmeringsspråk. Så här kommer vi att uppdatera den befintliga ulARAgeing
värde till ett annat strängvärde baserat på villkoret i case when-satsen. Så, för t.ex. om AccountTerms = 0
sedan uppdaterar vi värdet för ulARAgeing
till 'Aktuell' och så vidare.
För att kontrollera om ovanstående sats fungerade korrekt behöver du bara köra uppdateringssatsen ovan och sedan välja från tabellen igen:
select * from Vendor;
Resultat:
+--------------+-----------------+
| AccountTerms | ulARAgeing |
+--------------+-----------------+
| 0 | Current |
| 1 | 30 Days |
| 2 | 60 Days |
+--------------+-----------------+