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

时间:2013-04-11 12:44:56

标签: 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

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

任何想法? 谢谢 微开

1 个答案:

答案 0 :(得分: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