Gör inte fallet på hela den inre kopplingen, gör fallet på endast "på"-satsen i kopplingen. Detta borde fungera (om jag inte har stavfel):
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
Du kan också uppnå en liknande effekt genom att gå med vänster för vart och ett av dessa villkor och sedan använda case-satsen i din select-sats för att bestämma vilken av de två tabellerna du ska visa poster från.