2009-02-04 3 views
0

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

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
TW
sender_id
recipient_id
количество
timestamp_insert
timestamp_start timestamp_complete transaction_status

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

u_id, имя

ответ

10

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

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 
Смежные вопросы