-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