我正在使用以下查询来从与用户建立的表中获取事务。然后我想检索sender_id和recipient_id的用户名。但是我似乎只能为recipient_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
TW
SENDER_ID
recipient_id
达
timestamp_insert
timestamp_start
timestamp_complete
transaction_status
用户表格列:
U_ID, 名称
答案 0 :(得分: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