Sæt ikke sagen på hele den indre joinforbindelse, gør kun sagen på 'on'-klausulen i joinningen. Dette burde virke (medmindre jeg har slåfejl):
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 også opnå en lignende påvirkning ved at gå sammen med hver af disse betingelser og derefter bruge case-sætningen i din select-erklæring til at bestemme, hvilken af de to tabeller, der skal vises poster fra.