Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在sqlalchemy中选择多列联接的特定列?_Python_Sqlalchemy - Fatal编程技术网

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

Python 如何在sqlalchemy中选择多列联接的特定列?,python,sqlalchemy,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

我们正在测试实现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。根据这里的教程,我还尝试了各种
.join()
方法:我不断得到一个AttributeError:“mapper”或不是我想要的


我遇到的问题是,我不仅需要在多个字段上进行连接,而且不能在对象或表中构建任何外键关系。

多亏了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")`