MySQL - нужна помощь, чтобы выяснить несколько объединений - PullRequest
0 голосов
/ 04 февраля 2009

Я использую следующий запрос для получения транзакций из таблицы, выполненной для пользователя и от него. Затем я хочу получить имя пользователя для sender_id и receient_id. Однако я могу только получить его для receient_id или sender_id. У кого-нибудь есть идеи, как я могу получить оба.

SELECT us.name, ta.amount, ta.recipient_id, ta.sender_id, ta.timestamp_insert
        FROM  `transactions` AS ta
        JOIN users AS us
        ON ta.recipient_id=us.u_id
        WHERE ta.sender_id =111111 OR ta.recipient_id = 111111
        LIMIT 0 , 10

Столбцы таблицы транзакций:

TRANSACTION_ID
tw_id
ТВт
sender_id
recipient_id
сумма
timestamp_insert
timestamp_start timestamp_complete transaction_status

Столбцы таблицы пользователя:

u_id, Имя

1 Ответ

10 голосов
/ 04 февраля 2009

Вам нужно присоединиться дважды, таким образом:

SELECT ta.amount, ta.recipient_id, ta.sender_id, ta.timestamp_insert, sender.name as Sender, recipient.name as Recipient
        FROM  `transactions` AS ta
        JOIN users AS recipient
        ON ta.recipient_id=recipient.u_id
        JOIN users AS sender
        ON ta.sender_id=sender.u_id
        WHERE ta.sender_id =111111 OR ta.recipient_id = 111111
        LIMIT 0 , 10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...