Я пытаюсь присоединиться к таблице на основе результата CASE. По сути, я хочу проверить, являюсь ли я отправителем, а если нет, я хочу получить имя отправителя из базы данных пользователей. Если я ЕСМЬ отправитель, я хочу получить имя получателя из таблицы пользователей.
Вот мой текущий запрос к базе данных, он правильно извлекает информацию, но имя пользователя users.user AS AS sendername всегда будет отображать:
SELECT DISTINCT CASE WHEN $userid != senderid THEN senderid ELSE recipients END someid,
users.username AS sendername,
messages.body,
messages.time
FROM messages
LEFT JOIN users ON users.id = messages.senderid
WHERE messages.recipients = $userid
OR messages.senderid = $userid
ORDER BY messages.time
Я бы хотел изменить это на эквивалент следующего:
LEFT JOIN users ON users.id = someid
где someid определен в приведенном выше случае.
Спасибо!