2010-05-28 57 views
4
SELECT Question.userid, user.uid 
FROM `question` 
WHERE NOT `userid`=2 
LIMIT 0, 60 
INNER JOIN `user` 
ON `question`.userid=`user`.uid 
ORDER BY `question`.userid 

返回错误JOIN语法对于MySQL:INNER使用phpMyAdmin

您的SQL语法错误;检查对应于你的MySQL服务器版本使用附近的“INNER JOIN User ON question .userid = user .uid ORDER BY question .userid”在行正确的语法手册5

不能为我的生命弄清楚我在这里做错了什么。

回答

8

您的查询结果无效。你可能想尝试以下:

SELECT  `question`.userid, `user`.uid 
FROM  `question` 
INNER JOIN `user` ON `question`.userid = `user`.uid 
WHERE  `userid` <> 2 
ORDER BY `question`.userid 
LIMIT  0, 60 
+1

钉在它的头上!你的先生是我今天的救星! – 2010-05-28 03:09:05

+0

出于兴趣,你知道第5行出了什么问题吗?即INNER JOIN ON – 2010-05-28 03:10:35

+0

@David:你唯一的语法错误是'WHERE NOT userid = 2',你必须使用'WHERE userid <> 2'。否则,它只是这些条款的顺序不正确。 'LIMIT'必须始终是最后一个。 'WHERE'子句需要遵循'FROM'和所有'JOIN'等,'INNER JOIN'语法很好。它只是在错误的地方,因为它之前有一个“WHERE”。 – 2010-05-28 03:14:30