Как выбрать отправителя (данные) и получателя (данные) с помощью одного 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