Ne casse pas toute la jointure interne, fais la casse uniquement sur la clause 'on' dans la jointure. Cela devrait fonctionner (sauf si j'ai des fautes de frappe):
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
Vous pouvez également obtenir un effet similaire en joignant à gauche chacune de ces conditions, puis en utilisant l'instruction case dans votre instruction select pour déterminer de laquelle des deux tables afficher les enregistrements.