我有设法解决以下问题最巧妙的解决了问题。SQL - case语句 - 当语句,并声明
我有有一个状态栏,其中1被授权,完成2和他们有一些人太表购买。
我也有一个零售商表,其中有一个柱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,
我需要做的是如下:
时注明= 2,RetailerProcessType = 1,则 ' “授权”'
当状态= 1并且RetailerProcessType = 2那么''PENDING''
当状态= 2 AND RetailerProcessType = 2那么''授权''
ELSE“‘谢绝’”
我可以看到这样做的唯一方法是有一个巨大的IF周围的查询语句,一个是单步零售商,另一个用于两步为我的理解是WHEN子句不能在其中包含“AND”。
不过,这似乎只是丑陋和长篇大论,任何人有任何整洁的想法?
史蒂芬