繁体   English   中英

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

[英]How to select specific columns of multi-column join in 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" or not what I'我在找。

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

多亏了凯,我想我找到了解决方案。

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

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")`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM