python - SQLAlchemy 连接 - 返回一个表的所有列

标签 python select join sqlalchemy

我目前正在连接两个表,返回列在列表中的行:

a = Table('a', server_metadata, autoload=True)
b = Table('b', server_metadata, autoload=True)

tickers = ['1', '2']
res = b.join(a).select().where(asset.c.code.in_(tickers)).execute()

这会从 ab 返回正确的行和所有列。如何只返回表 b 的所有列?

最佳答案

select对应SQL查询的SELECT ...部分,默认为*;要将其限制为 b.*,您可以给它一个包含表 b 的列表;使用此构造,您需要将 FROM 部分包装到 select_from 中否则 SQLAlchemy 将生成一个子查询片段。因此:

res = select([b]).select_from(b.join(a).\
    where(asset.c.code.in_(tickers))).execute()

关于python - SQLAlchemy 连接 - 返回一个表的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28735974/

相关文章:

javascript - 在其他函数中使用 var 在 CKeditor 中进行选择

mysql - 选择元素列表,如果它们具有相同的日期,则采用最新的

mongodb - MongoDB : how to use refs to documents in other collections 中缺少类似连接查询的数据库设计

python - 如何按值对多级字典进行排序?

python - 无法使 python 宏工作,只是执行无限循环

python - PostgreSQL Psycopg2

Mysql SELECT 里面的 UPDATE

mysql - 具有子查询和多重连接的高效 SQL 查询

sql - 如何通过比较两个字段并考虑性能来连接表

Python - 类 __hash__ 方法和集合