如何加入两个相关表,而一个记录在另一个表中引用两个记录?

Aja*_*jar 0 mysql sql relational-database

我有一个带有sender_id和receiver_id字段的事务表,另一个带有user_id first_name last_name等的用户表...

我想从事务中查询数据并从用户处加入详细信息,我需要为发送方和接收方带来first_name&last_name ...

SELECT t.* u.*
FROM transactions t, users u
WHERE t.sender_id = u.user_id OR t.receiver_id = u.user_id
Run Code Online (Sandbox Code Playgroud)

这当然不是解决方案,因为我无法知道结果集中的发送者/接收者,但它有助于说明问题

有任何想法吗?感谢Ajar

Joh*_*Woo 5

您需要在表users上连接两次表,transactions因为事务中有两列依赖于表users.

SELECT  a.*,
        b.firstName as SenderName,
        c.FirstName as RecieverName
FROM    transactions a
        INNER JOIN users b
            ON a.sender_ID = b.user_ID
        INNER JOIN users c
            ON a.reciever_id = c.user_ID
Run Code Online (Sandbox Code Playgroud)