SQL的CASE WHEN THEN问题

SELECT PAY_WAY,POS_CITY_NAME,PAYMENT_DATE,SUM(YXP_AMT),COUNT(ID)
FROM B2B_BIGSTAGE_SUB
WHERE PAYMENT_DATE='2017-04-25'
and (CASE POS_CITY_NAME
WHEN PAY_WAY IN('数字王府井','王府井pos2','畅捷通PLUS','畅捷通pos','银联手机')
THEN '北京'
WHEN PAY_WAY IN ('易宝手机车款')
THEN '杭州'
ELSE ''
END)
GROUP BY PAY_WAY,PAYMENT_DATE,POS_CITY_NAME


提示我miss keyword,请问我到底错过了啥?

SELECT PAY_WAY,POS_CITY_NAME,PAYMENT_DATE,SUM(YXP_AMT),COUNT(ID)
FROM B2B_BIGSTAGE_SUB
WHERE PAYMENT_DATE='2017-04-25'
and(应该加查询条件吧。。。。,你的case取出来是字符串)

SELECT PAY_WAY,POS_CITY_NAME,PAYMENT_DATE,SUM(YXP_AMT),COUNT(ID)
FROM B2B_BIGSTAGE_SUB
WHERE PAYMENT_DATE='2017-04-25'
and POS_CITY_NAME=(CASE POS_CITY_NAME
WHEN PAY_WAY IN('数字王府井','王府井pos2','畅捷通PLUS','畅捷通pos','银联手机')
THEN '北京'
WHEN PAY_WAY IN ('易宝手机车款')
THEN '杭州'
ELSE ''
END)
GROUP BY PAY_WAY,PAYMENT_DATE,POS_CITY_NAME

如果还是不行,那就是in应该不能这么用