【问题标题】:Getting the input List of a WHERE IN Filter for SQL QUERY From A File or a Local Table从文件或本地表中获取 SQL QUERY 的 WHERE IN 过滤器的输入列表
【发布时间】:2018-11-20 14:39:42
【问题描述】:

我有一个简单的 SQL 查询。但是,查询有一个 where 过滤器,它接受一个列表。

列表至少包含2000 项,将长列表放入查询本身变得极其不方便。

我试图查找是否可以创建表/文件并将其调用到查询中。

示例代码:

Select * from Table_XXXX where  aa = 'yy'  and date > zzz  and mylist = [..............]

因此,我想调用列表元素所在的文件(本地)或元素位于列中的表(本地而不是数据库),而不是上面的列表...

任何帮助将不胜感激。

【问题讨论】:

  • 此时最好将所有项目放入一个临时表中,并将其用作INEXISTS 的子查询,或作为连接的一部分。
  • 你的首选选项在 mysql 中都不可能,我不知道 pandas。
  • 至于创建表如何调用本地表而不是数据库中的表?

标签: mysql sql pandas filter sql-like


【解决方案1】:

首先,您将文件/列表的内容存储在一个表中。之后你可以使用 in 条件

create table mylist(x int);
insert into mylist values(<all values in your file>);

select * 
  from Table_XXXX tt
 where tt.aa = 'yy' 
   and tt.date > zzz 
   and tt.mylist IN (select x from mylist)

【讨论】:

  • 谢谢乔治。但是,我没有得到第二行。插入到我的列表中是 sql 中的函数吗?如何从文件-> 表-> 列表中获取值。对不起我的无知。
  • 也许我没有理解正确。 “mylist”是一张桌子吗?
  • 我有一个文件,其中有一列我想将其作为 SQL 查询的过滤器作为 WHERE IN (....).. 所以现在接下来的部分我不知道如何处理.. 谢谢
猜你喜欢
  • 1970-01-01
  • 2018-03-09
  • 2017-09-10
  • 2018-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-09
相关资源
最近更新 更多