2016-03-14 128 views
-1

所以我有 these two tables 与一个关系Recipient-AccountID(收件人也是一个int ID),我想做一个SELECT查询,将采取收件人的用户名从另一个表和其余的消息数据。我发现我应该使用INNER JOIN,但我注意到它用于相同类型的数据。我不需要AccountID,但需要该ID的用户名。我怎样才能在一个SELECT语句中做到这一点?如何在MySQL中获取不同类型的相关数据?

+0

INNER JOIN可以用来从2个表检索不同类型的数据。但是,您必须在INNER JOIN语法内指定一个或多个相同类型的列,以便查询知道要加入的字段。 – Anton

+0

请向我们展示表格数据的例子以及表格数据示例信息 –

回答

0

在这里你去:

select m.MsgID, m.msgBody, a.username 
from Messages m join Accounts a on m.recipient = a.AccountID 
where //Your where condition 
+0

这是完美的,非常感谢!所以我看到一个简单的JOIN就足够了。 – Smncru

0

尝试:

SELECT msg.MsgBody,[other msg data],acc.username FROM Accounts as acc 
INNER JOIN Messages as msg ON acc.AccountID = ms.Recipient 
+0

忽略表名后,这是错误的:D – kpbl

+0

即使有AS,也可以工作。谢谢! – Smncru

0
SELECT Username FROM Accounts 
    INNER JOIN Messages On Messages.Recipient = Accounts.AccountID 
相关问题