我正在连接几个表,在每个连接中,我都必须指定一个特定的条件。
SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id WHERE table2.column1 = 'horse' INNER JOIN table3 ON table2.id = table3.id WHERE table3.column1 = 'cow';
我遇到了一个sql语法错误。当我删除where语句时,它又开始工作了。我该如何解决这个问题?
llmtgqce1#
将联接上的where更改为and:
where
and
SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id AND table2.column1 = 'horse' INNER JOIN table3 ON table2.id = table3.id AND table3.column1 = 'cow';
k5hmc34c2#
整个 查询 只有 一 个 WHERE 子句 , 它们 与 联接 无关 。 请 使用 AND 或 OR 将 它们 组合 起来 。
WHERE
AND
OR
SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id INNER JOIN table3 ON table2.id = table3.id WHERE table3.column1 = 'cow' AND table2.column1 = 'horse'
中 的 每 一 个
2条答案
按热度按时间llmtgqce1#
将联接上的
where
更改为and
:k5hmc34c2#
整个 查询 只有 一 个
WHERE
子句 , 它们 与 联接 无关 。 请 使用AND
或OR
将 它们 组合 起来 。中 的 每 一 个