Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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
Mysql 在sqlalchemy中执行双重内部联接_Mysql_Python 3.x_Sqlalchemy - Fatal编程技术网

Mysql 在sqlalchemy中执行双重内部联接

Mysql 在sqlalchemy中执行双重内部联接,mysql,python-3.x,sqlalchemy,Mysql,Python 3.x,Sqlalchemy,我有这个SQL查询,我想把它转换成sqlalchemy代码。 我在这里工作的是一个已经存在的生产数据库,这使得它很难更改 SELECT B.IDTestung, B.Ber1_Konzentration, T.Testungstyp, T.Timestamp, K.Name_Kl, K.Vorname_Kl FROM BCRS AS B INNER JOIN ttestunge

我有这个SQL查询,我想把它转换成sqlalchemy代码。 我在这里工作的是一个已经存在的生产数据库,这使得它很难更改

SELECT      B.IDTestung, B.Ber1_Konzentration,
            T.Testungstyp, T.Timestamp,
            K.Name_Kl, K.Vorname_Kl
FROM        BCRS AS B
            INNER JOIN
            ttestungen AS T on B.IDTestung = T.IDTESTUNG
            INNER JOIN
            tklienten K on T.IDKLIENT = K.IDKLIENT
因此,基本上是BCRS表,它包含“Testung”的ID,而ttestungen表本身有一个标识客户机的ID。因此,有两个内部联接来组合三个表

我该如何在sqlalchemy中写这个? 到目前为止,我得到的是:

from auswertungen.data.data import Tklienten, BCR, Ttestungen

tests = session.query(BCR).join(Ttestungen.tklienten).all()
这是第一次加入,但我不知道如何加入第二次。我试着在第一个之后再添加一个。join(…),但没有成功

以下是DB定义(摘录): (使用sqlacodegen自动创建)


您可以在下面尝试:

test = session.query(BCR).join(Ttestungen, BCR.IDTestung == Ttestungen.IDTESTUNG).join(Tklienten, Ttestungen.IDKLIENT == Tklienten.IDKLIENT).all()

可能
tests=session.query(BCR).join(Tklienten.IDTESTUNG).join(Ttestungen.IDKLIENT).all()
?这运行时没有错误,但我仍然没有获取客户端数据(Tklienten中的列)。非常奇怪-(
test = session.query(BCR).join(Ttestungen, BCR.IDTestung == Ttestungen.IDTESTUNG).join(Tklienten, Ttestungen.IDKLIENT == Tklienten.IDKLIENT).all()