2017-06-22 81 views
0

这是(使用phpMyAdmin模拟器)我的SQL代码:SQL查询错误未知列JOIN +

SELECT user_activity.user_ip,user_activity.id,user_activity.post_id , posts.id 
FROM user_activity,users 
INNER JOIN posts ON user_activity.post_id = posts.id 
WHERE user_activity.user_id = users.id and users.forgen_note = 'test note'; 

它respons错误:

MySQL said: Documentation 

#1054 - Unknown column 'user_activity_now.stream_id' in 'on clause' 

如何解决它,请?

+1

在'user_activity'和'users'之间使用'INNER JOIN'子句。删除了SQL Server标记。很明显,MySQL。 –

+1

你有一个额外的隐式连接,使用一个非常古老的语法'FROM user_activity,users',然后你有第二个'INNER JOIN'使用接受的语法。 –

+4

user_activity_now在查询中未提及。这意味着您要么访问视图,要么没有放置正确的查询或错误消息。 – AlexanderMP

回答

1

不要混合联接语法:

SELECT user_activity.user_ip,user_activity.id,user_activity.post_id, posts.id 
FROM user_activity 
    INNER JOIN users ON user_activity.user_id = users.id 
    INNER JOIN posts ON user_activity.post_id = posts.id 
WHERE users.forgen_note = 'test note'; 

一般来说,你应该避免使用逗号连接。阅读起来比较困难,而且对于你在做什么的整体表现力较差。

+0

非常感谢:)它的工作。 –