Non inserire in maiuscolo l'intero inner join, esegui il case solo sulla clausola "on" nel join. Questo dovrebbe funzionare (a meno che non abbia errori di battitura):
SELECT
conversation.c_id,
conversation.user_one,
conversation.user_two,
users.name,
users.lastName
FROM `conversation`
INNER JOIN `users`
on
users.id =
CASE
WHEN conversation.user_one = 1
THEN conversation.two
WHEN conversation.user_two = 1
THEN conversation.user_one
END
WHERE `user_one` = 1 OR `user_two` = 1
Puoi anche ottenere un effetto simile unendo a sinistra su ciascuna di queste condizioni e quindi utilizzando l'istruzione case nella tua dichiarazione select per determinare da quale delle due tabelle visualizzare i record.