我有一个应用程序,用户可以在其中选择页面上的各种选项,并且后面的代码会构建一个 SQL 查询来返回相关记录。
在这种情况下,用户选择了:
- 除法!='1'
还有一个自动限制,因为返回记录的划分必须在 UserDivisions 中,这是一个看起来像的变量
Division IS NULL OR Division IN ('1','1.1','1.1.1')
因此,返回的记录必须位于列出的分区之一中,或者具有 NULL 作为值。
我的代码目前正在分别处理这些限制,所以最终的 SQL 看起来像
Select top 1000 Division, WoNum, WoType
From WorkOrder
Where (Division IS NULL OR Division IN ('1','1.1','1.1.1'))
AND (Division <> '1')
此查询返回 Division = '1.1' 和 '1.1.1' 的所有记录,并且它不会返回 Division '1' 中的任何记录,就像它应该返回的那样,但它也不会返回 Division = Null 的任何记录。
如何构建此查询以返回 NULL,为什么上述查询不返回 NULL?