2016-04-13 52 views
1

我试图使用SQL只显示一条消息,如果场x表1中的比赛场y表2SQL比较列来回两个不同的表

SELECT * 
from privatemessags 
JOIN users 
WHERE privatemessags.reciver LIKE users.id 

这就是我现在有,但它仍然打印 我要留言我的DB的这两个领域进行打印,如果id表1等于reciver表2 current output of SQL

任何帮助是极大的赞赏感谢

+0

有点难以看到你正在尝试做的。你的问题使用不同的表和列名称比你的查询..也许'在privatemessags.id = users.reciver'。这似乎也只是一个SQL问题。如果你不想用多列替换你想要返回的列。 – chris85

+0

对此感到抱歉已经有一段时间了,现在我想将用户表中的id coloumn与私人邮件表中的recivers表进行比较,以查看它们是否匹配 –

回答

1

首先,您的加入不正确。鉴于你的语句:

我试图使用SQL只显示一条消息,如果域x表1场比赛中的Y表2

那么你确实想加入这两个表,其中table1.x = table2.y。

从表1 T1

选择消息 上t1.x = t2.y

加入表2 T2通过加入两个表,你只会收到消息时表1:你会通过创建类似下面的东西做到这一点.x = table2.y。

+0

从privatemessags中选择privatemessags.reciver t1加入用户t2 on t1.reciver = t2.id somting这样可以证明工作,但它就像你的意思 –

+0

'字段列表'中的未知列'privatemessags.reciver'是我从上述评论中得到的内容 –

1

要仅显示从第一表中的字段,你可以指定在选择指令表名:“privatemessags *”

SELECT privatemessags.* 
from privatemessags 
JOIN users 
WHERE privatemessags.reciver LIKE users.id