如何在sqlalchemy中选择多列连接的特定列?

时间:2015-10-05 17:16:38

标签: python sqlalchemy

我们正在测试实现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"或不是我正在寻找的东西。

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

1 个答案:

答案 0 :(得分: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")