我在 sqlite3 中的 sql 查询以 OR 语句结束。它看起来像这样:
select
(...)
from
T1, T2, .... Tn
where
(...) and
(
(T5.v='s1' and T6.v='s2' and T7.v='s3') OR
(T5.v='s4' and T6.v='s5' and T7.v='s6')
)
查询不返回任何结果。
但是,每个不同的“或”条件都会返回一些行(!)
where
(...) and
(
(T5.v='s1' and T6.v='s2' and T7.v='s3')
)
和
where
(...) and
(
(T5.v='s4' and T6.v='s5' and T7.v='s6')
)
它是 sqlite3 中的错误还是我?
$ sqlite3 -version
3.6.20
更新:我在 T5.v、T6.v 和 T7.v 上有三个非唯一索引