Voy a tratar de explicar esto de la manera más simple posible para que sea fácil de entender:
Supongamos que tiene una tabla Vendor
configurar algo como esto:
create table Vendor (AccountTerms int, ulARAgeing varchar(50));
Y luego insertaremos algunos valores de muestra para ambas columnas en Vendor
tabla:
insert into Vendor values
(0,'Test'),
(1,'Test1'),
(2,'Test2');
A continuación, escribiremos una declaración de actualización para actualizar su ulARAgeing
columna basada en los valores de AccountTerms
columna en la misma tabla:
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
es similar a usar IF..ELSE
declaración en la mayoría de los otros lenguajes de programación. Entonces, aquí actualizaremos el ulARAgeing
existente valor a un valor de cadena diferente basado en la condición en el caso cuando declaración. Entonces, por ej. si AccountTerms = 0
luego actualizaremos el valor para ulARAgeing
a 'Actual' y así sucesivamente.
Para verificar si la declaración anterior funcionó correctamente, solo necesita ejecutar la declaración de actualización anterior y luego seleccionar de la tabla nuevamente:
select * from Vendor;
Resultado:
+--------------+-----------------+
| AccountTerms | ulARAgeing |
+--------------+-----------------+
| 0 | Current |
| 1 | 30 Days |
| 2 | 60 Days |
+--------------+-----------------+