SQL 语法错误 JOIN 三张表
SQL syntax error JOIN three tables
我正在尝试连接三个表。但是我得到这个错误
Syntax error(missing operator) in query expression STUDENTAI.mėgstamiausia_laida = TV_LAIDOS.id
LEFT JOIN MIESTAI
ON STUDENTAI.kilme = MIESTAI.koda'.
这是我的代码
SELECT MIESTAI.pavadinimas, TV_LAIDOS.pavadinimas
FROM STUDENTAI
LEFT JOIN TV_LAIDOS
ON STUDENTAI.mėgstamiausia_laida = TV_LAIDOS.id
LEFT JOIN MIESTAI
ON STUDENTAI.kilme = MIESTAI.kodas
WHERE STUDENTAI.ugis > 190;
怎么了?为什么会出现此错误?
你的语法是正确的。 table MIESTAI 不存在,或者字段名称 STIDENTAI.kilme,或者 MIESTAI.kadas 不存在。
你真的想加入 kilme 和 kadas 吗?
这个查询:
SELECT MIESTAI.pavadinimas, TV_LAIDOS.pavadinimas
FROM STUDENTAI LEFT JOIN
TV_LAIDOS
ON STUDENTAI.mėgstamiausia_laida = TV_LAIDOS.id LEFT JOIN
MIESTAI
ON STUDENTAI.kilme = MIESTAI.kodas
WHERE STUDENTAI.ugis > 190;
对于任何数据库来说,结构看起来都是正确的。 . .除了 MS Access。在该系统中,您需要在联接周围加上括号:
SELECT MIESTAI.pavadinimas, TV_LAIDOS.pavadinimas
FROM (STUDENTAI LEFT JOIN
TV_LAIDOS
ON STUDENTAI.mėgstamiausia_laida = TV_LAIDOS.id
) LEFT JOIN
MIESTAI
ON STUDENTAI.kilme = MIESTAI.kodas
WHERE STUDENTAI.ugis > 190;
请注意,这假设所有表和列都存在,并且列名等中允许使用重音字符。
这个栏目名称看起来很特别:
STUDENTAI.mėgstamiausia_laida
它 运行 在我的 MySQL 上,如果我将它包含在 ``
中,即
SELECT MIESTAI.pavadinimas, TV_LAIDOS.pavadinimas
FROM STUDENTAI
LEFT JOIN TV_LAIDOS
ON STUDENTAI.`mėgstamiausia_laida` = TV_LAIDOS.id
LEFT JOIN MIESTAI
ON STUDENTAI.kilme = MIESTAI.kodas
WHERE STUDENTAI.ugis > 190;
我正在尝试连接三个表。但是我得到这个错误
Syntax error(missing operator) in query expression STUDENTAI.mėgstamiausia_laida = TV_LAIDOS.id
LEFT JOIN MIESTAI
ON STUDENTAI.kilme = MIESTAI.koda'.
这是我的代码
SELECT MIESTAI.pavadinimas, TV_LAIDOS.pavadinimas
FROM STUDENTAI
LEFT JOIN TV_LAIDOS
ON STUDENTAI.mėgstamiausia_laida = TV_LAIDOS.id
LEFT JOIN MIESTAI
ON STUDENTAI.kilme = MIESTAI.kodas
WHERE STUDENTAI.ugis > 190;
怎么了?为什么会出现此错误?
你的语法是正确的。 table MIESTAI 不存在,或者字段名称 STIDENTAI.kilme,或者 MIESTAI.kadas 不存在。
你真的想加入 kilme 和 kadas 吗?
这个查询:
SELECT MIESTAI.pavadinimas, TV_LAIDOS.pavadinimas
FROM STUDENTAI LEFT JOIN
TV_LAIDOS
ON STUDENTAI.mėgstamiausia_laida = TV_LAIDOS.id LEFT JOIN
MIESTAI
ON STUDENTAI.kilme = MIESTAI.kodas
WHERE STUDENTAI.ugis > 190;
对于任何数据库来说,结构看起来都是正确的。 . .除了 MS Access。在该系统中,您需要在联接周围加上括号:
SELECT MIESTAI.pavadinimas, TV_LAIDOS.pavadinimas
FROM (STUDENTAI LEFT JOIN
TV_LAIDOS
ON STUDENTAI.mėgstamiausia_laida = TV_LAIDOS.id
) LEFT JOIN
MIESTAI
ON STUDENTAI.kilme = MIESTAI.kodas
WHERE STUDENTAI.ugis > 190;
请注意,这假设所有表和列都存在,并且列名等中允许使用重音字符。
这个栏目名称看起来很特别:
STUDENTAI.mėgstamiausia_laida
它 运行 在我的 MySQL 上,如果我将它包含在 ``
中,即
SELECT MIESTAI.pavadinimas, TV_LAIDOS.pavadinimas
FROM STUDENTAI
LEFT JOIN TV_LAIDOS
ON STUDENTAI.`mėgstamiausia_laida` = TV_LAIDOS.id
LEFT JOIN MIESTAI
ON STUDENTAI.kilme = MIESTAI.kodas
WHERE STUDENTAI.ugis > 190;