SQL查询 - CASE意外令牌

Non*_*joe 5 mysql sql case

我有以下SQL查询:

SELECT w.id, w.name, m.subject, m.id 
FROM users AS w, i_c AS c,
(SELECT _id, u_id, subject FROM i_m WHERE (_id, tmstmp) IN 
        (SELECT _id, max(tmstmp) FROM i_m GROUP BY _id)) m 
        WHERE (c.uid_1 = '2' OR c.uid_2 = '2') AND 
        CASE WHEN c.uid_1 = '2' THEN w.id = c.uid_2 
        WHEN c.uid_2 = '2' THEN w.id = c.uid_1 END 
        AND (c.id = m.id) ORDER BY m.tmstmp DESC
Run Code Online (Sandbox Code Playgroud)

它在我的第一台服务器上工作正常但在第二台服务器上给了我

Unexpected Token. (near "c" at position 280)
Run Code Online (Sandbox Code Playgroud)

看了一些类似的问题,但仍未找到解决方案.似乎问题是CASE.

谁能帮助我?任何帮助将非常感激.提前致谢.