gpt4 book ai didi

python - sqlalchemy:从表中选择查询中的列

转载 作者:行者123 更新时间:2023-12-01 09:12:13 24 4
gpt4 key购买 nike

我遇到一种情况,当列值位于子查询中时,我试图计算表中的行数。例如,假设我有一些像这样的 sql:

select count(*) from table1
where column1 in (select column2 from table2);

我的表格定义如下:

class table1(Base):
__tablename__ = "table1"
__table_args__ = {'schema': 'myschema'}
acct_id = Column(DECIMAL(precision=15), primary_key=True)


class table2(Base):
__tablename__ = "table2"
__table_args__ = {'schema': 'myschema'}
ban = Column(String(length=128), primary_key=True)

这些表是从数据库中反射(reflect)的,因此存在类定义中未明确指定的其他属性。

我可以尝试编写我的查询,但这就是我陷入困境的地方......

qry=self.session.query(func.?(...)) # what to put here?
res = qry.one()

我尝试查看文档 here但我没有看到任何与“in”关键字类似的实现,“in”关键字是许多 SQL 方言的一个功能。

如果重要的话,我正在使用 Teradata 作为我的后端。

最佳答案

sub_stmt = session.query(table2.some_id)
stmt = session.query(table1).filter(table1.id.in_(sub_stmt))
data = stmt.all()

关于python - sqlalchemy:从表中选择查询中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51563751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com