SQL WHERE ... IN记录集

伊恩·戈德比(Ian Goldby)

给定VBA中的Recordset是先前SQL查询的结果,如何在新SQL语句的WHERE子句中使用此Recordset的结果?

我想写这样的东西:

SELECT ID FROM MyTable WHERE ID IN <<ID column of myRecordSet>> ;

显然,这不是正确的语法。我希望它选择MyTableID匹配中的ID之一的所有行myRecordSet或换一种说法,我正在尝试执行类似SQL子查询的操作,但子查询是一个记录集。

同样显然,我可以IN (a,b,c)通过迭代遍历来逐个元素地构建一个表达式元素myRecordSet,但是我问这个问题是因为我认为这是不必要的。

(这个问题的根本在于,新查询的ID列表来自Recordset;我意识到可能还有其他方法可以执行这种操作,但是我需要知道如何以这种特定方式进行操作。)

价值

如果您的记录集基于同一数据库中的其他查询,则可以使用(myQuery可能包含所有WHERE和其他任何需要的子句):

SELECT ID FROM MyTable WHERE ID IN (select ID from myQuery)

如果您的记录集是合成的或来自其他数据源,那么您只需要通过遍历记录集来构建ID列表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Excel VBA SQL记录集不刷新

使用codeigniter活动记录集执行sql联接时,“调用未定义的方法CI_DB_mysqli”

在Excel VBA中用SQL记录集填充多列列表框

使用sql记录集确定在加载时显示哪个用户窗体

SQL查询返回“默认”记录集

如何使用SSIS将Excel中的多个记录集加载到SQL?

检查sql语句是否返回ssis中的空记录集

根据计数对记录集进行分类

使用基本代码和范围将SQL查询/记录集转储到LO Calc表中

在SQL中设置记录集的批号

在SQL中过滤记录集

函数返回记录集

来自当前记录集中的下一个记录集的ORACLE SQL数据

VBA从SQL Server记录集获取价值

SQL记录集令人困惑的结果

SQL:通过对第二个查询的每个记录重复一个查询的输出来创建记录集

在SQL where子句中删除+-值记录

如何使用SQL Server Management Studio Express将视图的记录集导出到sql?

Excel UDF从ACE SQL记录集返回数组

DAO记录集与SQL语句一起使用For Next循环添加记录

Access VBA中的运行时3464。尝试使用SQL select语句打开记录集

如何通过MS Access前端从MATLAB中的SQL Server打开记录集

断开的记录集/数据集的德尔福

将 SQL 表结果除以 1 - 循环遍历记录集

如果任何记录满足条件,sql 忽略记录集

记录集目标 SSIS

使用记录集作为 WHERE sql 字符串中的条件

空记录集值 - sql server 2017

在 VBA MS Access 中运行两个 SQL 查询。第二个记录集依赖于第一个记录集