问题标签 [in-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 投票
2 回答
2588 浏览

mysql - 使用 mysql 变量保存逗号分隔值,用于 where in 子句

我必须运行这样的查询(查询 1)-

我想为 ID 部分保留一个变量,如下所示(查询 2)-

但这并没有给出预期的结果(给出一个空的结果集),也没有查询错误。

我检查了如果我将逗号分隔的 ID 包含在引号内,则查询会产生一个空结果集(查询 3)-

我想当我使用上面显示的变量@myIds(查询2)时,它正在评估上面的查询(查询3)。

0 投票
0 回答
514 浏览

mysql - Mysql 在哪里 (*)

我有一个过程 A 需要一个字符串数组。通过调用另一个过程 B,我以这种格式打破了这个数组:

如果只有一个值,则显示为'1'

如果数组传递给过程A,我想返回*。因此,我的查询将是这样的:select * from users where userId(*); 我想要的是,如果参数为空,它仍然应该执行IN使用。

** 编辑 ** 没什么查询

程序 B

0 投票
1 回答
164 浏览

sql - 您如何知道 IN 子句中包含的哪些项目未找到?

我的 IN 子句中有一个包含 10 个项目的列表,在我的 SELECT 中只找到了 8 个项目。你怎么知道 IN 子句中包含的哪些项目没有找到?

SELECT * FROM SOME_TABLE WHERE ID IN (1,2,3,4,5,6,7,8,9,10)

我的桌子是:

0 投票
2 回答
6130 浏览

c# - 使用实体框架的 sql IN 子句的动态 linq 查询表达式树

我想在 EF 6.0 中使用代码优先方法为 sql IN 子句创建一个动态 linq 表达式。请注意,我是表达式的新手。我想要达到的是

正常的 linq 查询如下所示。但我想动态查询它

动态表达有两种方式。
1) 一种方法是遍历 ids 并制作表达式
下面的代码将在调试视图中创建以下表达式

动态表达式是

2)我尝试的第二种方式(调试视图)

{f => val.Contains("23")} //val is parameter of values above
我试过的上面的动态表达式是

我收到以下错误

  • LINQ to Entities 无法识别“System.String StringConvert(System.Nullable`1[System.Double])”方法,当我使用第一种方法时,该方法无法转换为存储表达式。我知道我不能将 ToString 与 EF 一起使用,这就是我使用 SqlFunctions 的原因,但它对我不起作用。
  • 使用第二种方法,参数“val”未绑定在指定的 LINQ to Entities 查询表达式中

我从过去 4 天开始尝试这个。我用谷歌搜索了它,但没有找到任何合适的解决方案。请帮我。

0 投票
2 回答
247 浏览

sql - 带有 NOT IN 子句的子查询成功时,LEFT JOIN 是否可能失败?

有一阵子我已经发布了这个问题的答案PostgreSQL multiple criteria statement

任务非常简单 - 如果另一个表中没有对应的值,则从一个表中选择值。假设我们有如下表格:

我们想获取所有first.foosecond.foo. 我提出了两种解决方案:

  • 使用LEFT JOIN
  • 结合子查询和IN运算符:

由于某种原因,第一个在 OP 的上下文中不起作用(返回 0 行),从那时起它一直困扰着我。我尝试使用不同版本的 PostgreSQL 重现该问题,但到目前为止还没有运气。

是否有任何特殊原因导致第一个解决方案失败而第二个解决方案按预期工作?我错过了一些明显的东西吗?

是 sqlfiddle,但它似乎适用于任何可用的平台。

编辑

就像@bma 和@MostyMostacho 在评论中指出的那样,它应该是第二个没有返回结果的(sqlfiddle)。

0 投票
2 回答
91 浏览

mysql - 如何确定字符串'word1;word2;word3;word4'的元素'word4'是否在字符串'word4','word5','word6','word7'中?

在我的网站上,我有一个系统可以对T.CategoriesMySQL 字符串中的表上的内容进行分类,如下所示

(可能或多或少)。

另一方面,我让我的用户选择他们感兴趣的类别。基本上,他们在表单上做出选择,结果列在 PHP 变量中,$var看起来像

(ETC。)

通过请求

只有当内容归类为一个单一类别时,我才能确定内容是否符合他们的兴趣。

举例:

  • 我有一张照片属于“猫”类别
  • 我的用户想要查看属于“猫”和“狗”类别的照片
  • 我的 SQL 请求看起来像SELECT * FROM T Where T.Categories IN ('".$var."'))";

实际上,我告诉 SGBD 观察 T.Categories 的内容是否在列表 $var 中

当 T.Categories 中只有一个类别时,它可以工作。“Cat 在 $var 中吗?是的,Cat 在 'Cat','Dog' 中。然后我将内容提供给用户(因为 Cat 在 $var 中)”

但是如果 T.Categories 中有多个类别,它就不再起作用了。因为整个类别都存储在 category1;category2;category3;category4 的形式下。不幸的是:字符串 'Cat;Horse;Duck' 不在 'Cat','Dog' 中(MySQL 正在寻找整个字符串)

我需要将 Cat;Horse;Duck 分成三个部分进行解析,以使 SGBD 在 $var 列表中查找每个部分。Cat IN $var 吗?是的,猫喜欢“猫”、“狗”。马在 $var 中吗?不,马不喜欢“猫”、“狗”。Duck 在 $var 中吗?不,鸭子不喜欢“猫”、“狗”。然后我将内容提供给用户(因为 Cat 在 $var 中)。

我怎样才能达到我的目标,使用一个单一的请求?

0 投票
1 回答
3221 浏览

sql-server - SQL Server:使用 IN 子句时返回行的顺序

运行以下查询将返回 4 行。正如我在 SSMS 中看到的,返回行的顺序与我在 IN 子句中指定的顺序相同。

我可以说返回行的顺序总是与它们在 IN 子句中出现的顺序相同吗?

如果是,那么以下两个查询是否以相同的顺序返回行?(因为我测试过订单是一样的,但我不知道我是否可以相信这种行为)

我问这个问题是因为我有一个非常复杂的选择查询。使用这个技巧给我带来了大约。就我而言,性能提升 30%。

0 投票
1 回答
51 浏览

mysql - 如何优化IN约束查询?

以下是我的查询。

它包含IN需要花费大量时间来提取结果的约束,database.Database显然是巨大的。

如何优化此查询?

0 投票
1 回答
90 浏览

mysql - 如何在 mysql 中优化这个 IN 子句?

我有以下表结构:

和这个:

运行的查询是这样的:

显然,这个查询效率不高,并且执行起来需要大量时间。请建议我优化它的最佳方法。

根据以下 peterm 添加 EXPLAIN 命令的结果:

0 投票
3 回答
5263 浏览

sql - IN() 子句中的 SQL 查询

我有SELECT基于IN()子句的查询,我想将该子句与其他查询一起提供,例如:

但它错误: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT itemNAME FROM item_list WHERE itemID = '57' AND (itemSUB ='0' OR' at line 11