问题标签 [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.
sql - MSSQL:带有硬编码值的 IN 与带有 SQL 查询的 IN
我有以下查询:
此查询失败,因为无法转换 的某些值,c000
因为它们看起来像008-
而不是00052-
。在这里mesoyear
问(mesoyear IN ...)。如果我单独查询这个 SQL 部分,我会得到1344
结果。
另一方面,此查询有效:
那么硬编码值和 SQL 查询有什么区别呢?
编辑:
我认为原因是子查询的评估晚于主查询。是真的吗?我能做些什么呢?
sql - SQL IN 工作但 NOT IN 不起作用
我有这个查询将正确返回作为IN
子句一部分的值,但是当我将其更改为 时NOT IN
,它不会返回任何内容。
有没有人有什么建议?
sql - 可以在没有子查询的情况下进行此查询吗?
想象一下这 3 张桌子:
是否可以在不进行子查询/子选择的情况下选择所有没有的用户LoginInfos
(我在没有检查数据库的情况下写了这个):
我使用 Postgres 作为数据库。
c# - 从列表框控件构建 SQL IN 语句
我正在尝试使用构建 SQL 查询StringBuilder
,但我在尝试执行部分WHERE
子句时陷入困境。
我有一个包含一堆值的列表框,并允许多项选择。我需要遍历选定的项目,然后放入IN
类似...的语句中
到目前为止,我已经编写了这样的代码......
我需要测试该项目是否是循环中的最后一个项目,以便它不会在关闭“)”之前放置“,”。
我怎样才能做到这一点?或者,如果有更好的方法来构建这部分查询,请提出建议,我还在学习,我们都必须从某个地方开始!:)
最终这将是一个零件搜索的查询。
提前致谢
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 函数中的数组/列表/表?
sql - TSQL - 更快地使用 IN (list) 还是使用 NOT IN (list) 来处理一个小列表?
我的一列只能包含 4 个可能的值(val1
、val2
、val3
、val4
)。
我需要在WHERE
子句中添加一个额外的过滤器来排除这 4 个值之一(即val4
)。
使用起来会更快吗NOT IN ('val4')
?IN ('val1','val2','val3')
sql - 使用 % 是 IN 条件
通常,当您必须在 oracle 中搜索一个您不知道我们使用的确切条件的 where 条件时:
如果我必须检查我们使用的多个条件IN
我们如何将两者结合起来?即,当不知道确切值时,在 DB 中搜索一堆值 下面的代码没有给出所需的结果,因为它认为整个都是一个字符串。
sql-server-2008 - TSQL 多个 IN 查询性能不佳
为什么查询喜欢
太慢了(F1 和 F2 被索引,统计数据更新),你如何优化它们?
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。
sql - SQL IN 语句 - 输入值 (database_field)
我正在构建的搜索查询的一部分需要通过 SQL 查询处理过滤器值,以检查数据库字段中的 CSV 列表。(我无法控制数据库字段中 CSV 列表的使用/不使用,使用我所拥有的)并且我做了一些测试,发现您可以执行以下操作:
如果database_field
相等2
和CSV_list
相等,1,2,3,4
这将返回true
,因为在 CSV 列表中找到了 2 的值。
但是,我遇到的问题是我需要根据字段检查值列表,而不是根据列表检查字段。我会告诉你我是怎么做到的。
现在,你们中的一些人可能会想“哦,天哪,这是一种非常低效的做事方式。我知道,但我通过反复试验发现的一件事是,一旦我找到了一种有效的方法,我总能找到一种优化它的方法. 在我以前从未尝试过的事情上,第一次以完美为目标是没有意义的。无论如何,你可以看到它循环我的filterList
变量并根据item_sizes
字段检查每个值以查看该值是否在该 CSV 列表中。
这就是问题所在。如果item_sizes
equaled2
很好,因为其中一个值将是2
并且它会匹配 true。但是,如果item_sizes
equaled 2,3,4
,即使我的两个变量值是2
and 4
,它也不匹配STRING(2,3,4
我发现通过反复试验发生的事情)。我的猜测是,即使我将值放在左侧,字段放在右侧,它仍然运行为item_sizes In (#filter_item#)
,这是我能想出的唯一合乎逻辑的答案。
有谁知道我如何通过使用我上面使用的方法来解决这个问题(没有规范化数据库,因为这在当前时间是不可能的)?
解决方案
正如评论中所引用的,我找到了解决这个问题的临时解决方案。它不是最好的,但它确实有效。
通过使用以下语法,您可以获得所需的结果:
请注意
的用途<cfset URL.filter_sizes = [2,4,7,10]>
是模拟实际的 URL 变量(编辑后)。这不是我struct
在 URL 变量中使用 a 的错误。