【问题标题】:Programmatically rename multiple columns in query using SqlAlchemy使用 SqlAlchemy 以编程方式重命名查询中的多个列
【发布时间】:2016-11-17 15:33:15
【问题描述】:

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

【问题讨论】:

    标签: python sql sqlalchemy


    【解决方案1】:

    假设您的问题与另一个问题 (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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 2018-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多