问题标签 [sql-in]

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 回答
1902 浏览

sql - MSSQL:带有硬编码值的 IN 与带有 SQL 查询的 IN

我有以下查询:

此查询失败,因为无法转换 的某些值,c000因为它们看起来像008-而不是00052-。在这里mesoyear问(mesoyear IN ...)。如果我单独查询这个 SQL 部分,我会得到1344结果。

另一方面,此查询有效:

那么硬编码值和 SQL 查询有什么区别呢?

编辑:

我认为原因是子查询的评估晚于主查询。是真的吗?我能做些什么呢?

0 投票
4 回答
87 浏览

sql - SQL IN 工作但 NOT IN 不起作用

我有这个查询将正确返回作为IN子句一部分的值,但是当我将其更改为 时NOT IN,它不会返回任何内容。
有没有人有什么建议?

0 投票
2 回答
50 浏览

sql - 可以在没有子查询的情况下进行此查询吗?

想象一下这 3 张桌子:

是否可以在不进行子查询/子选择的情况下选择所有没有的用户LoginInfos(我在没有检查数据库的情况下写了这个):

我使用 Postgres 作为数据库。

0 投票
5 回答
1493 浏览

c# - 从列表框控件构建 SQL IN 语句

我正在尝试使用构建 SQL 查询StringBuilder,但我在尝试执行部分WHERE子句时陷入困境。

我有一个包含一堆值的列表框,并允许多项选择。我需要遍历选定的项目,然后放入IN类似...的语句中

到目前为止,我已经编写了这样的代码......

我需要测试该项目是否是循环中的最后一个项目,以便它不会在关闭“)”之前放置“,”。

我怎样才能做到这一点?或者,如果有更好的方法来构建这部分查询,请提出建议,我还在学习,我们都必须从某个地方开始!:)

最终这将是一个零件搜索的查询。

提前致谢

0 投票
0 回答
253 浏览

sql - 根据 levenshtein 距离创建自定义 IN 函数 t-sql

我实际上并不擅长 SQL 中的函数,我更像是一个 java/android 程序员。但是对于一个学校项目,我需要检查一个字符串是否在 T-SQL 的某个数组中。但我正在比较两家不同公司的数据,他们的数据都有一些缺陷。其中一家公司的数据在数据库中,另一家公司的数据来自excel。

一种方法是使用 SQL ofcourse 中的 LIKE 函数,但我不太确定标准是什么。完美的是像 sql 函数 IN 这样的函数,但这需要完美匹配......

所以我做的是以下内容:

创建一个给出Levenshtein distance的 T-SQL 函数,它比较两个字符串并给出 Levenshtein 距离。

这个功能很好用。

我的下一步是创建一个具有以下参数的函数:

  • 输入字符串 - 要检查的字符串
  • levdist int - 匹配的最小 levenstein 距离
    (完美匹配为 0)
  • arr array/table/llist(找不到逗号分隔的字符串(就像你在 IN 函数中输入的那样)是如何被调用的 - 在哪里检查

我到目前为止是这样的:

这不起作用并给出编译错误。所以我的两个问题是(我认为我的代码是错误的)

  • 如何在函数中返回布尔值(我找不到它:S)?当然,我可以返回一个整数并使用 0 表示 false 和 1 表示 true 左右,但这应该是可能的

  • 如何使用标准 T-SQL IN 函数中的数组/列表/表?

0 投票
2 回答
10406 浏览

sql - TSQL - 更快地使用 IN (list) 还是使用 NOT IN (list) 来处理一个小列表?

我的一列只能包含 4 个可能的值(val1val2val3val4)。

我需要在WHERE子句中添加一个额外的过滤器来排除这 4 个值之一(即val4)。

使用起来会更快吗NOT IN ('val4')IN ('val1','val2','val3')

0 投票
3 回答
253 浏览

sql - 使用 % 是 IN 条件

通常,当您必须在 oracle 中搜索一个您不知道我们使用的确切条件的 where 条件时:

如果我必须检查我们使用的多个条件IN

我们如何将两者结合起来?即,当不知道确切值时,在 DB 中搜索一堆值 下面的代码没有给出所需的结果,因为它认为整个都是一个字符串。

0 投票
2 回答
202 浏览

sql-server-2008 - TSQL 多个 IN 查询性能不佳

为什么查询喜欢

太慢了(F1 和 F2 被索引,统计数据更新),你如何优化它们?

0 投票
3 回答
11492 浏览

mysql - 使用“IN”命令将数组作为参数传递给 SQL 查询

大家下午好,

我有一个关于 SQL 查询的问题。是否可以使用“IN”命令将数组用作查询的参数?

例如,

诠释 x = {2,3,4,5}

UPDATE 'table_name' set 'field' = data WHERE field_ID IN (x)

我问这个的原因是当我必须更新数据库中的数据时避免迭代 SQL 语句。我还考虑在 UPDATE 查询中使用 for each 语句,但我不知道如果更新 100 多条记录会减慢系统速度,是否会影响查询的性能。

我正在使用 VB.Net 顺便说一句。我的数据库是 MySQL Workbench。

0 投票
0 回答
219 浏览

sql - SQL IN 语句 - 输入值 (database_field)

我正在构建的搜索查询的一部分需要通过 SQL 查询处理过滤器值,以检查数据库字段中的 CSV 列表。(我无法控制数据库字段中 CSV 列表的使用/不使用,使用我所拥有的)并且我做了一些测试,发现您可以执行以下操作:

如果database_field相等2CSV_list相等,1,2,3,4这将返回true,因为在 CSV 列表中找到了 2 的值。

但是,我遇到的问题是我需要根据字段检查值列表,而不是根据列表检查字段。我会告诉你我是怎么做到的。

现在,你们中的一些人可能会想“哦,天哪,这是一种非常低效的做事方式。我知道,但我通过反复试验发现的一件事是,一旦我找到了一种有效的方法,我总能找到一种优化它的方法. 在我以前从未尝试过的事情上,第一次以完美为目标是没有意义的。无论如何,你可以看到它循环我的filterList变量并根据item_sizes字段检查每个值以查看该值是否在该 CSV 列表中。

这就是问题所在。如果item_sizesequaled2很好,因为其中一个值将是2并且它会匹配 true。但是,如果item_sizesequaled 2,3,4,即使我的两个变量值是2and 4,它也不匹配STRING2,3,4我发现通过反复试验发生的事情)。我的猜测是,即使我将值放在左侧,字段放在右侧,它仍然运行为item_sizes In (#filter_item#),这是我能想出的唯一合乎逻辑的答案。

有谁知道我如何通过使用我上面使用的方法来解决这个问题(没有规范化数据库,因为这在当前时间是不可能的)?

解决方案

正如评论中所引用的,我找到了解决这个问题的临时解决方案。它不是最好的,但它确实有效。

通过使用以下语法,您可以获得所需的结果:

请注意

的用途<cfset URL.filter_sizes = [2,4,7,10]>是模拟实际的 URL 变量(编辑后)。这不是我struct在 URL 变量中使用 a 的错误。