0

我正在尝试运行一个查询,选择 db1.specific 等于“OO”或“AA”的位置,但运行我的查询会中断

这是我尝试过的

SELECT        *lots*
FROM            db1 INNER JOIN
                         db2 ON db1.id = db2.id
WHERE        (db1.num = 2353) AND (db1.specific = 'OO') OR
                         (db1.specific = 'AA')

查询运行良好并返回 12 个不带OR (db1.specific = 'AA'). 但是添加了 OR 语句后,它似乎运行了一个 select * 或其他东西(查询继续进行,数千个条目)

我试图以不同的方式放置 OR 或重新安排查询,但没有任何运气。

4

3 回答 3

4

你只需要调整你的括号,以便你的操作顺序是正确的....

SELECT *lots*
FROM db1 INNER JOIN
db2 ON db1.id = db2.id
WHERE (db1.num = 2353) AND 
(db1.specific = 'OO' OR db1.specific = 'AA')
于 2013-09-07T00:30:05.453 回答
1

一点点分组,你就可以搞定了。尝试这个。

SELECT       *lots*
FROM         db1 INNER JOIN db2 ON db1.id = db2.id
WHERE        (db1.num = 2353) AND ((db1.specific = 'OO') OR (db1.specific = 'AA'))
于 2013-09-07T00:29:56.527 回答
0
SELECT *lots* FROM  db1 INNER JOIN db2 ON db1.id = db2.id WHERE (db1.num = 2353) AND ((db1.specific = 'OO') OR (db1.specific = 'AA'))
于 2013-09-07T02:31:06.910 回答