Получить данные в двух столбцах

154
05 августа 2021, 06:00

У меня есть таблица с сообщениями, где sender_id указывает кто отослал, а recipient_id указывает кто принял, и есть таблица users, которая содержит инфу о id пользователя и его имя. Я хочу вывести все имена, кто кому писал (последовательно).

Я получил такой код, для получения пользователя, который отправил сообщение, но как добавить пользователя который принял?

SELECT name 
FROM users 
JOIN (
     SELECT messages.sender_id AS id 
     FROM messages
  ) AS N 
WHERE N.id = users.id
Answer 1

если у вас сообщения 2 раза связаны с пользователями, просто два раза приджойньте таблицу пользователей.

SELECT DISTINCT us.name as sender
       , ur.name as recipient
FROM messages as m
INNER JOIN users AS us ON (us.id = m.sender_id)
INNER JOIN users AS ur ON (ur.id = m.recipient_id)  
READ ALSO
Как сделать ввод значений для переменной в одну строку?

Как сделать ввод значений для переменной в одну строку?

Я пытаюсь сделать ввод значений для переменной в 1 строку, но ничего не получается

141
Не срабатывает mysql запрос, но ошибок вообще нет

Не срабатывает mysql запрос, но ошибок вообще нет

Не пойму почему данные не добовляються в бд, хоть ошибок нет

295
Как не перенагрузить сервер большим количеством запросов?

Как не перенагрузить сервер большим количеством запросов?

Представим некую абстрактную страницу, на которой через AJAX, путем запроса к API на PHP выполняются запросы к БДОбновлять данные необходимо 1 раз...

206
Регулярное выражение (обратные ссылки)

Регулярное выражение (обратные ссылки)

Подскажите, почему данное регулярное выражение \b(\w+)\b \b\1\b выделяет two two и five five, но не выделяет six, six и sevenseven

240