SELECT * FROM Questions
INNER JOIN QuestionKeyword INNER JOIN Keywords
ON Questions.ID=QuestionKeyword.QuestionID
AND QuestionKeyword.KeywordID=Keywords.ID
WHERE Keywords.Keyword LIKE '%es%'
它说: 关键字'WHERE'附近的语法不正确。
答案 0 :(得分:6)
您无法组合多个JOIN的条件,但必须在每个连接中单独列出它们:
SELECT * FROM Questions
INNER JOIN QuestionKeyword ON Questions.ID=QuestionKeyword.QuestionID
INNER JOIN Keywords ON QuestionKeyword.KeywordID=Keywords.ID
WHERE Keywords.Keyword LIKE '%es%'
答案 1 :(得分:3)
您有两个JOIN
但只有一个ON
。你可能想要
SELECT
*
FROM
Questions
INNER JOIN QuestionKeyword ON Questions.ID = QuestionKeyword.QuestionID
INNER JOIN Keywords ON QuestionKeyword.KeywordID = Keywords.ID
WHERE
Keywords.Keyword LIKE '%es%'
答案 2 :(得分:3)
在第一次INNER JOIN之后你错过了一个“ON”。
SELECT *
FROM Questions
INNER JOIN QuestionKeyword
ON QuestionKeyword.QuestionID=Questions.ID
INNER JOIN Keywords
ON QuestionKeyword.KeywordID=Keywords.ID
WHERE Keywords.Keyword LIKE '%es%'
答案 3 :(得分:3)
您正在进行的每个联接都必须有ON
条款。这应该解决它:
SELECT * FROM Questions
INNER JOIN QuestionKeyword
ON Questions.ID=QuestionKeyword.QuestionID
INNER JOIN Keywords
ON QuestionKeyword.KeywordID=Keywords.ID
WHERE Keywords.Keyword LIKE '%es%'
编辑:该死的,其他四个答案才能完成输入! :P
答案 4 :(得分:2)
您的INNER JOIN搞砸了。
这样的事情应该有效:
SELECT * FROM Questions
INNER JOIN QuestionKeyword ON Questions.ID=QuestionKeyword.QuestionID
INNER JOIN Keywords ON QuestionKeyword.KeywordID=Keywords.ID
WHERE Keywords.Keyword LIKE '%es%'
答案 5 :(得分:2)
尝试将其重写为:
SELECT *
FROM Questions
INNER JOIN QuestionKeyword ON Questions.ID=QuestionKeyword.QuestionID
INNER JOIN Keywords ON QuestionKeyword.KeywordID=Keywords.ID
WHERE Keywords.Keyword LIKE '%es%'
每个INNER JOIN都需要相应的ON关键字和连接条件。
答案 6 :(得分:1)
你只有一个ON子句和两个INNER JOIN。对于INNER JOIN,必须使用ON连接条件。因此,SQL解析器可能会感到困惑并意外地看到你的WHEN。