【问题标题】:Include non-column value in sqlalchemy query在 sqlalchemy 查询中包含非列值
【发布时间】:2015-01-18 00:58:43
【问题描述】:

如何在 sqlalchemy SELECT column1, 'Table1' as TableName FROM Table1 中执行此操作?

特别是'Table1' as TableName 部分。

我想要这个,以便在我正在执行的联合查询中知道一行来自哪个表。抱歉,如果这应该很简单,但我至少花了一个小时试图弄清楚。

【问题讨论】:

    标签: python sqlalchemy


    【解决方案1】:

    使用literal_column:

    select([t1.c.col1, literal_column("t1", type_=Unicode).label("TableName")])
    

    【讨论】:

    • 不确定我是否应该接受这个答案,也许如果你编辑它?我不得不在我的查询中使用bindparam("TableName", "t1"),因为使用literal_column 会导致如下错误:ProgrammingError: (ProgrammingError) column "t1" does not exist LINE 1: ...d AS relations_id, relations.time_linked AS time, t1 AS tabl... 但是你的帖子让我朝着正确的方向前进。
    • 看来我没猜对你的桌子是什么样的。我编辑了帖子。
    • 实际上,非常抱歉 Bartosz,您是对的。我收到错误是因为我没有指定 Unicode 类型。 (当我尝试这样做时,我得到了 Unicode not defined 错误,但我现在意识到我必须简单地导入 Unicode 列类型)。很抱歉让您重新编辑,但可以将您的回复恢复为最初的答案。 (也许也包括进口,以免对其他新手造成混淆)
    • 没问题,我还原了。
    猜你喜欢
    • 2017-01-21
    • 2011-06-23
    • 2014-10-31
    • 2022-11-09
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    相关资源
    最近更新 更多