使用SqlAlchemy以编程方式重命名查询中的多个列

时间:2016-11-16 19:53:51

标签: python sql sqlalchemy

我有一个查询,我正在连接多个表并选择所有列。 我想在结果中使用它来自的表的名称后缀每个列。有没有办法以编程方式在SqlAlchemy中执行此操作?

1 个答案:

答案 0 :(得分:0)

假设您的问题与另一个问题(Sqlalchemy dynamically create joins)有关,请转到(我正在延伸接受的答案):

s_stmt = [
    col.label(col.name + '_' + ti.name)
    for ti in t for col in ti.columns
]

t_joined = t[0]
for ti in t[1:]:
    t_joined = t_joined.join(ti, ti.c.id == t[0].c.id, full=False)


result = select(s_stmt).select_from(t_joined)