Đừng đặt trường hợp cho toàn bộ phép nối bên trong, hãy đặt trường hợp chỉ với mệnh đề 'on' trong phép nối. Điều này sẽ hoạt động (trừ khi tôi mắc lỗi chính tả):
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
Bạn cũng có thể đạt được ảnh hưởng tương tự bằng cách kết hợp trái trên từng điều kiện này và sau đó sử dụng câu lệnh trường hợp trong câu lệnh lựa chọn của bạn để xác định một trong hai bảng để hiển thị bản ghi.