db2 如何在内部连接子句中放置where子句?

uqjltbpv  于 2022-11-07  发布在  DB2
关注(0)|答案(2)|浏览(204)

我正在连接几个表,在每个连接中,我都必须指定一个特定的条件。

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语句时,它又开始工作了。我该如何解决这个问题?

llmtgqce

llmtgqce1#

将联接上的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';
k5hmc34c

k5hmc34c2#

整个 查询 只有 一 个 WHERE 子句 , 它们 与 联接 无关 。 请 使用 ANDOR 将 它们 组合 起来 。

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'

中 的 每 一 个

相关问题