SQL Server视图中的WHERE子句未过滤结果

问题描述 投票:0回答:1

我有一个复杂的视图,我试图使用WHERE子句添加过滤器或排除项。查看代码:

SELECT
---OMITTED COMPLEX LOGIC

WHERE
--EXCLUSIONS BEGIN HERE

--records with DATES = "10/01/XXXX" and TIMES = NULL excluded
DATES not like '%10/01/%' or times is not NULL

[我看到的是带有DATES的记录,例如“ 10/01/1985”,而TIMES = NULL当我只选择视图时就返回了,我希望上面的视图中的WHERE子句已删除。

results from above query

问题的第二部分是,一旦我能弄清上面做错了什么,并且正确配置了视图以返回符合上述条件的行,则该视图被滤除,添加where子句会发生什么视图本身的SELECT语句?它会替换嵌入在视图中的WHERE子句,还是会在嵌入的WHERE子句之后的筛选集上工作?

sql-server view where-clause
1个回答
0
投票

首先,在AND子句中可能会出现ORWHERE。请使用ANDOR子句以及正确的[[括号(以使其更好地关联),以将您的思想正确地传播到代码中。

第二,视图上的过滤器将作为过滤数据集的附加过滤器。
© www.soinside.com 2019 - 2024. All rights reserved.