我在我的sql查询where子句中使用带有AND的多个IN运算符,如下所示......
---
where ID in (1, 3, 234, 2332, 2123, 989) AND tag in ('wow', 'wonderful')
但令人惊讶的是,结果的行为似乎是OR类型而不是AND类型。我的意思是它忽略了AND运算符......
你能解释一下为什么吗?
答案 0 :(得分:1)
我无法使用SQL Server 2008重现结果。
SELECT * FROM ( SELECT 0 AS ID, 'wow' as Tag ) X WHERE ID in (1, 3, 234, 2332, 2123, 989) AND tag in ('wow', 'wonderful')
结果: 没有记录
SELECT * FROM ( SELECT 1 AS ID, 'wow' as Tag ) X WHERE ID in (1, 3, 234, 2332, 2123, 989) AND tag in ('wow', 'wonderful')
结果:
ID Tag 1 wow
再次检查您的代码。