Tengo un problema tratando de encontrar la solución más adecuada para el siguiente problema.SQL - DECLARACIÓN DE UN CASO - WHEN statement AND statement
Tengo una mesa de compras que tiene una columna de estado, donde 1 está autorizado, 2 se completa y también algunos otros.
También tengo una tabla de minorista, que tiene una columna RetailerProcessType, donde 1 es un paso y 2 es de dos pasos.
Ahora vea la consulta a continuación ...
CASE purc.State
WHEN 1 THEN '"AUTHORISED"'
WHEN 2 THEN '"AUTHORISED"'
WHEN 4 THEN '"AUTHORISED"'
ELSE '"DECLINED"'
END AS Autorised_Decline_Status,
Lo que tengo que hacer es la siguiente:
cuando el estado = 2 y RetailerProcessType = 1 ENTONCES ' "AUTORIZADO"'
Cuando el estado = 1 y RetailerProcessType = 2 ENTONCES ' "pendiente"'
cuando el estado = 2 Y RetailerProcessType = 2 ENTONCES ' "autorizado"'
ELSE ' 'rechazado''
La única forma que veo de hacer esto es tener un enorme IF en torno a la consulta, una para un minorista de un solo paso y otro para una de dos pasos como mi entendimiento es una cláusula WHEN no puede tener un 'AND' en ella.
Sin embargo, esto parece horrible y de largo aliento, ¿alguien tiene ideas más limpias?
Steven