-2
我使用多个IN运营商,在我的sql查询,其中下面给出的条款......奇怪的行为:SQL和运营商,在多个运营商
---
where ID in (1, 3, 234, 2332, 2123, 989) AND tag in ('wow', 'wonderful')
但令人惊讶的结果,行为似乎是OR的键入而不是AND类型。我的意思是忽略AND运营商...
你能解释我为什么吗?
我使用多个IN运营商,在我的sql查询,其中下面给出的条款......奇怪的行为:SQL和运营商,在多个运营商
---
where ID in (1, 3, 234, 2332, 2123, 989) AND tag in ('wow', 'wonderful')
但令人惊讶的结果,行为似乎是OR的键入而不是AND类型。我的意思是忽略AND运营商...
你能解释我为什么吗?
使用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
再次检查您的代码。
是什么让你这么说?你有没有收到你没有想到的结果?这是什么样子? – 2009-09-14 08:04:34
是在一个表中添加列标签和ID还是不同?查看整个查询更好。 – 2009-09-14 08:05:34
谢谢X2和Mark_s它得到了解决......你的反问题给了我提示,导致它得到解决...我在查询中使用了连接表和错误地映射ID ... 再次感谢 – 2009-09-14 08:12:39