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 |
+--------------+-----------------+