【问题标题】:How to select specific columns of multi-column join in sqlalchemy?如何在sqlalchemy中选择多列连接的特定列?
【发布时间】:2015-10-05 17:16:37
【问题描述】:

我们正在测试实施 SQLAlchemy 来处理我们的数据库工作的可能性。在某些情况下,我需要将数据库连接到其自身的克隆(当然,可能包含不同的数据)。

我需要复制的 SQL 示例如下:

SELECT lt.name, lt.date, lt.type
FROM dbA.dbo.TableName as lt
LEFT JOIN dbB.dbo.TableName as rt
    ON lt.name = rt.name
    AND lt.date = rt.date
WHERE rt.type is NULL

到目前为止,我已经尝试使用 join 对象,但我无法让它不吐出整个连接。我还根据此处的教程尝试了各种 .join() 方法:http://docs.sqlalchemy.org/en/rel_1_0/orm/tutorial.html 并且我不断收到 AttributeError: "mapper" or not what I'm looking for。

我遇到的问题是,我不仅需要加入多个字段,而且不能将任何外键关系内置到对象或表中。

【问题讨论】:

标签: python sqlalchemy


【解决方案1】:

感谢 Kay,我想我找到了解决方案。

看来可以通过以下方式解决:

session.query(dbA_TableName).outerjoin(
   dbB_TableName,
   and_(dbA_TableName.name == dbB_TableName.name",
   dbA_TableName.date == dbB_TableName.date")
).filter("dbB_TableName.type is NULL")`

【讨论】:

    猜你喜欢
    • 2021-05-15
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多