SQL 查询中嵌入的查询外部元组列表



我必须运行一个sql查询,该查询仅在两个条件为真时才获取值。因此,例如,我需要抓取asset=xid_name=12345的所有值。资产和id_name之间大约有 10k 种组合,我需要能够使用 sql 进行查询。通常我只会执行以下操作:

select * from database where id_name IN (12345)

但是,当两个条件必须为真时,我如何进行此查询。 id_name必须等于 12345,资产必须等于 x。

我尝试将我需要的列表转换为元组,如下所示:

new_list = list(scams[['asset', 'id_name']].itertuples(index=False, name=None))

这给了我这样的列表:

new_list = (12345, x), (32342, z)...etc.

任何建议都会很棒。谢谢!

根据我的理解,您需要根据两个过滤器的组合来查询或获取记录。此外,您还有大约 10K 组合。这是一个简单的基于 SQL 的解决方案。 在同一表中创建新列或构建临时表/视图,新列显示"column_new"。在新列中填充id_name和资产的串联值。您可以使用基于数据库的串联函数。 SQL 服务器中的示例使用 CONCAT(column1,column2(。 现在,您可以将 SQL 编写为 select * from database where colum_new IN ("12345x","32342z"); 。 注意:您也可以在进行串联时在第 1 列和第 2 列之间使用"-"或"|"。

最新更新