MySQL - 需要帮助来找出多个连接

时间:2009-02-04 12:28:13

标签: sql mysql

我正在使用以下查询来从与用户建立的表中获取事务。然后我想检索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, 名称

1 个答案:

答案 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