我正在使用像
这样的查询 WHERE this.ID BETWEEN 1 AND 11
但我想为此添加另一个ID
WHERE this.ID BETWEEN 1 AND 11 AND this.ID = 22
甚至
WHERE this.ID = 22 AND this.ID BETWEEN 1 AND 11
这会导致错误。
我是否坚持使用WHERE this.ID >= 1 AND this.ID <= 11 AND this.ID = 22
?有更简单的方法吗?
答案 0 :(得分:1)
当您使用 AND 时,它将检查ID是否必须等于1到11和22.
我不能同时拥有两个值。
您应该使用 OR 。但是当你使用OR条件时,你必须把它放在()中。所以其他条件将正常工作。
你可以在括号后添加其他条件。
WHERE (this.ID BETWEEN 1 AND 11 OR this.ID = 22)
答案 1 :(得分:0)
我在我的shell上试过了
SELECT * FROM tablename WHERE (id BETWEEN 1 AND 2) or (ID = 3)
这样可以得到没有错误的结果
SELECT * FROM tablename WHERE (id BETWEEN 1 AND 2) AND (ID =3)
这会给出空结果而没有错误。
正如您所看到的,您正在两个ID之间获取结果,并且还传递具有不同ID的AND
条件,结果将为空