问题标签 [where-clause]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
983 浏览

sql - 使用 LINQ 在“where”语句中动态改变条件数量

我正在使用 LINQ(在 mvc 中)进行我的第一个项目,所以我可能错过了一些非常简单的东西。然而,一天的搜索和实验并没有发现任何有效的东西,因此发布了这篇文章。

我正在尝试编写一个 LINQ 查询(Linq to SQL),它将在 where 语句中包含多个条件,由 OR 或 AND 分隔。直到运行时,我们才知道查询中有多少条件。这是一个搜索过滤器控件,用户可以在其中选择多个条件进行过滤。

之前我只是将 SQL 查询构造为一个字符串,同时遍历所有条件。但是,在 LINQ 中似乎应该有一种很好的方法来做到这一点。我曾尝试使用表达式树进行查找,但目前它们似乎有点超出我的想象。另一个想法是在 where 语句中执行一个 lambda 函数,如下所示:

但是,这仅适用于 AND 条件。我该如何做手术室?

0 投票
1 回答
311 浏览

linq - Linq:其中 x = 1 除非 y > 3

我如何在 linq 中实现这样的东西。在我的 linq 代码中,它会在答案用户 ID 不等于问题用户 ID 的情况下获得最佳答案。这是为了过滤用户选择他们自己的帖子作为最佳答案。如果用户选择了他们自己的答案作为最佳答案,那么它必须至少被投票 3 次。

0 投票
2 回答
3898 浏览

c# - 实体框架未将 Where 子句作为 WHERE 子句发送到 SQL Server

我有一个包含站点的简单数据库,每个站点都有一堆帖子。

我正在尝试获取某个站点的所有“公共”帖子(我有一个名为 site 的变量,它已经是 EF 带来的实例)

第一个明显的事情是:

这给我带来了我想要的东西,但是查看 SQL Server Profiler,WHERE 只过滤公共字段,而不是站点。事实上,在 SQL Server 中运行 Profiler 捕获的查询确实会带回来自所有站点的所有帖子(这显然是稍后在 ASP.Net 端过滤的)。

然后我尝试了:

结果相同。

我在这里做一些根本上愚蠢的事情吗?
实体框架是否总是在客户端过滤?

谢谢!
丹尼尔

0 投票
3 回答
2456 浏览

sql - 计算日期之间的行数

我正在使用 CTE 生成一系列日期。

然后,我将其加入到包含大量日期的索引视图中。

我有 2 个选项可以在日期范围之间进行计数

1)我会 SUM(case) 测试 log_date 以测试它是否在开始日期和结束日期之间,+ 1 为真,0 为假 - 所以如果没有结果,我总是会得到 '0'

2)我可以在每个日期范围内使用 WHERE 子句来计算(*)。

正如您所期望的那样 1) 是有效的,但对性能有很大的开销 2) 效率可能提高 8000%,但是如果应用了在指定日期范围之间返回空结果的过滤器,则无法返回范围。

有没有办法使用有效的 WHERE 子句但保留详细说明“0”的日期范围行?

这是案例解决方案的一些SQL:

这是 WHERE 解决方案的一些 SQL:

0 投票
6 回答
629 浏览

c# - C# 扩展 where 方法 - 处理未找到元素时的情况

我正在尝试使用 xDocument 和LINQ to XML查询这个非常复杂的 XML 文档。我想执行以下操作:

获取符合特定条件的所有元素,如果不符合,则从 xDocument 返回另一个属性。

例子:

现在我想从这个查询中得到一个石油类型的巡逻列表,除非汽车不使用汽油,然后我会对汽油感到满意。

如果我使用该where条款,我只会错过汽车使用汽油的情况。有没有像where条款这样的东西,我可以在其中指定如果不满足条件该怎么办?

0 投票
4 回答
3590 浏览

sql-server - SQL Server,根据参数在 WHERE 语句中使用 IF 语句从两个表中进行选择

如何在 SQL Server 中执行以下操作

0 投票
1 回答
849 浏览

dynamic - 类型化数据集中where子句的动态参数可能吗?

普通的 ASP.NET 表适配器适用于简单的 where 子句,例如 - “where city = @city and state = @state and zip = @zip”

但是我如何设计一个允许我使用任何参数组合的 DAL——“仅按城市搜索”或“按 zip 和州搜索”或“按城市和州搜索”......甚至更复杂的“按 zip 搜索,但如果 @zip 为空,则按城市搜索"....

如何设计一个支持这种动态 where 条件的 DAL?带有表适配器的类型化数据集是最好的方法吗?目前,我只是对普通数据集使用动态 SQL 查询,并试图将其转换为某种强类型 DAL。

0 投票
5 回答
15721 浏览

hibernate - 忽略 Hibernate @Where 注释

我有一个实体,它与另一个用@Where 注释的实体有关联,就像这样

最近不可避免的事情发生了,我需要加载不符合@Where 子句的EntityB。我可以删除 @Where 注释,但它被大量使用,所以理想情况下我不想这样做。除了手动加载 EntityB 的列表之外,还有另一个查询,我有什么选择?我可以告诉 Hibernate 忽略 @Where 注释吗?

0 投票
5 回答
21034 浏览

sql - 基于别名列名进行过滤

我正在使用 SqlServer 2005,并且我有一个我命名的列。

查询类似于:

但是,这给了我错误:

“列名 'myAlias' 无效。”

有没有办法解决这个问题?在过去,我在 WHERE 或 HAVING 部分中包含了列定义,但这些大多很简单,IE COUNT(*) 或其他。我可以在这个临时查询中包含整个列定义,但是如果由于某种原因我需要在生产查询中执行此操作,我希望只使用一次列定义,这样我就不必同时更新两者(并且在某个时候忘记做一个)

0 投票
2 回答
20661 浏览

symfony1 - 学说:多个(whereIn OR whereIn)查询?

我在用 Doctrine 制作一个相当简单的查询时遇到了麻烦......

我有两个数组($countries,$cities),我需要检查数据库记录值是否与其中的任何一个匹配。我正在寻找类似的东西:

... 'country' 是 $countries 的 WHERE IN,而 'city' 是 $city 的 WHERE IN。

我可以将两者分开,但所需的查询还有很多其他条件,所以这是不可能的。我所追求的结果 SQL 将是:

因此,人们也可以认为它只是一个括号问题。任何人都知道这是否可以通过 Doctrine DQL 实现?我浏览了文档,但找不到任何方向。

谢谢