如何在文本文件中查询具有数百万个输入的select语句

时间:2018-10-30 21:53:07

标签: sql

我在文本文件(temp.txt)中有数百万个ID。我必须编写一条select语句,该语句通过从文本文件中选取ID并递归执行来递归执行。

select * from table where id=123;

temp.txt

1234 1224 1232 。

2 个答案:

答案 0 :(得分:0)

一些选项:

  • 使用文本数据库驱动程序创建“链接服务器”并加入您的真实数据
  • 以某种方式将文本数据加载到临时表中,并将其连接到您的“真实”数据中
  • 使用脚本生成带有大量“ IN”子句的查询(如果IN子句太大,则将多个查询联合在一起)

加载到临时文件可能是整体上效率最高的,但是取决于您的数据库权限,可能或不可能。

答案 1 :(得分:0)

假设您的文本文件中有5个ID。这些ID可能类似于1984、2346、2345、6534、1234。

要编写查询以选择所有这些查询,请尝试以下操作:

SELECT * FROM your_table WHERE column IN (1984, 2346, 2345, 6534, 1234);

对于文本文件中的每个ID,您都需要在括号内的ID后面加上一个逗号。

此查询为表中每个记录选择所有列,在该表中,您在括号中搜索的任何ID与基于查询中建议的列的列值匹配。