我目前正在连接两个表,返回列在列表中的行:
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()
这会从 a
和 b
返回正确的行和所有列。如何只返回表 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/