#mysql #sql #select #inner-join
#mysql #sql #выберите #внутреннее объединение
Вопрос:
У меня есть 2 таблицы пользователей и реферала.
вот структура из 2 таблиц.
реферальная таблица
| Column |
----------------
| ref_id |
| from_user_id |
| to_user_id |
| ref_name |
| ref_phone |
| ref_email |
| ref_note |
таблица пользователей
| Column |
----------------
| user_id |
| user_name |
| user_first_name |
| user_last_name |
| user_email |
| user_phone |
у меня есть 2 раздела, в которых пользователь может видеть полученные и отправленные ссылки.
в разделе received referral как мне получить first_name и last_name из таблицы users, присоединяющейся к from_user_id в таблице referral.
до сих пор я придумал этот запрос для полученной ссылки, который дает мне предполагаемый набор результатов. но как получить имя и фамилию таблицы пользователей из реферальной таблицы from_user_id
SELECT users.user_id, users.user_name, users.user_firstname, users.user_lastname, referral.ref_name, referral.ref_phone, referral.ref_email, referral.ref_note
FROM referral JOIN users
ON referral.to_user_id = users.user_id
WHERE referral.to_user_id = (logged in user id)
аналогично в разделе «отправленные ссылки», как мне получить имя пользователя и фамилию, объединяющую пользователей и таблицу ссылок из_user_id ключа
SELECT users.user_id, users.user_name, users.user_firstname, users.user_lastname
FROM referral JOIN users
ON referral.from_user_id = users.user_id
WHERE referral.from_user_id = (logged in user id)
любая помощь будет принята с благодарностью.
Ответ №1:
Я думаю, вам нужны два объединения в таблице users:
select r.ref_name, r.ref_phone, r.ref_email, r.ref_note,
uf.user_id as from_user_id, uf.user_name as from_user_name, uf.user_firstname as from_user_firstname, uf.user_lastname as from_user_lastname,
ut.user_id as to_user_id, ut.user_name as to_user_name, ut.user_firstname as to_user_firstname, ut.user_lastname as to_user_lastname
from referral r
inner join users ut on r.to_user_id = ut.user_id
inner join users uf on r.from_user_id = uf.user_id
where r.to_user_id = ?
Комментарии:
1. спасибо @GMB, что запрос работает отлично.