表A中2列的MYSQL查询与表B中的1列相关

时间:2011-02-20 23:13:13

标签: mysql

我有2个表,用户和邮件。

在用户表中,我将使用2列,ID列与邮件表建立关系,它是用户表索引和名称列。

在邮件表中,我有Receiver Column和Sender Column。两列,Receiver和Sender都有一个与用户表中的ID列相关的数字。在用户表中,名称列所在的位置,我想创建一个查询,向我显示接收者和发件人列,但显示用户的名称,而不是ID。

到目前为止,我有这个:

SELECT name AS Send, name AS Receive FROM mail,user WHERE sender=guid;

我知道仍有一部分查询丢失,但我无法弄清楚还有什么要告诉它在SEND输出列中显示发送者的名称,在RECEIVE输出列中显示接收者的名字

1 个答案:

答案 0 :(得分:6)

您需要两次加入您的用户表。您的查询将如下所示:

SELECT u1.name as send, u2.name as receive
FROM mail m
INNER JOIN user u1 on m.sender = u1.guid
INNER JOIN user u2 on m.receiver = u2.guid

那应该为你做到的!