Как выбрать отправителя (данные) и получателя (данные) с помощью одного SQL-запроса?

Итак, я использую PHP и MySQL. У меня есть таблица "уведомления" и таблица "пользователи". Уведомление дает отправитель и получатель. Я провел некоторые исследования и попробовал некоторые вещи, но я не мог прийти к решению. Следующий SQL-запрос дает мне набор данных в уведомлении, а также данные получателя, но как я могу также выбрать данные отправителя из таблицы пользователей в одном запросе?

SELECT notifications.id,notifications.recipient_id,notifications.sender_id,notifications.unread,notifications.type,notifications.parameters,notifications.created_at,users.id AS user_id,users.username 
FROM notifications, users 
WHERE users.id = notifications.recipient_id;

1 ответ

Решение
SELECT 
    notifications.id,
    notifications.recipient_id,
    notifications.sender_id,
    notifications.unread,
    notifications.type,
    notifications.parameters,
    notifications.created_at,
    users1.id AS user_id_recipient,
    users1.username  AS username_recipient,
    users2.id AS user_id_sender,
    users2.username  AS username_sender
FROM notifications
INNER JOIN users AS users1 ON users1.id = notifications.recipient_id
INNER JOIN users AS users2 ON users2.id = notifications.sender_id
Другие вопросы по тегам