У меня есть таблица с именем Purchase, в которой есть столбец State, где 1 разрешено, 2 завершено (есть и другие значения).
У меня также есть таблица Retailer, в которой есть столбец RetailerProcessType, где 1 - одноэтапный, а 2 - двухэтапный.
У меня есть запрос ниже:
CASE purc.State
WHEN 1 THEN '"AUTHORISED"'
WHEN 2 THEN '"AUTHORISED"'
WHEN 4 THEN '"AUTHORISED"'
ELSE '"DECLINED"'
END
AS Autorised_Decline_Status,
Но мне нужно сделать следующее:
WHEN STATE = 2 AND RetailerProcessType = 1 THEN '"AUTHORISED"'
WHEN STATE = 1 AND RetailerProcessType = 2 THEN '"PENDING"'
WHEN STATE = 2 AND RetailerProcessType = 2 THEN '"AUTHORISED"'
ELSE '"DECLINED"'
Единственный способ, которым я могу это сделать, - это использовать массивный оператор IF
вокруг запроса, один для одноэтапного продавца, а другой для двухступенчатого, как я понимаю, предложение WHEN
не может содержать в себе И
.
Однако это кажется длинным; У кого-нибудь есть идеи получше?