我有表结构:
SELECT
url,
name
FROM
lnks
INNER JOIN kwds12, kwds13
ON
lnks.l_id=kwds12.l_id
AND
lnks.l_id=kwds13.l_id
INNER JOIN kws
ON
kws.kw_id=kwds12.kw_id
OR
kws.kw_id=kwds13.kw_id
WHERE
kws.wrd='word1'
OR
kws.wrd='word2'
您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在'ON lnks.l_id = kwds12.l_id附近使用正确的语法AND lnks.l_id = kwds13.l_id INNER JOIN kws ON kws.kw_id ='在第2行
THX
答案 0 :(得分:0)
您的语法错误位于第一个INNER JOIN
:
INNER JOIN kwds12, kwds13 ...
那个逗号一定不能存在。如果您使用INNER JOIN
,则需要单独连接表(不能用逗号分隔表)。
如果需要,您可以使用where
条件替换所有联接。
答案 1 :(得分:0)
这应该更好。你需要自己加入每张桌子。
SELECT
url,
name
FROM
lnks
INNER JOIN kwds12
ON
lnks.l_id=kwds12.l_id
INNER JOIN kwds13
ON
lnks.l_id=kwds13.l_id
INNER JOIN kws
ON
kws.kw_id=kwds12.kw_id
OR
kws.kw_id=kwds13.kw_id
WHERE
kws.wrd='word1'
OR
kws.wrd='word2'