Python: doppelter JOIN

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Felixpythontkinter
User
Beiträge: 5
Registriert: Sonntag 10. Juni 2018, 19:46

Hallo zusammen,

ich habe heute morgen eine kurze Frage an euch:
Wie kann ich 3 Tabellen "joinen"/verbinden, wenn unterschiedliche Joinspalten vorliegen?

Bedeutet: Tabelle1 ist mit Tabelle 2 über eine ID verbunden; Tabelle 2 ist mit Tabelle 3 über eine andere ID_2 verbunden.

Ich brauche keinen Codeausschnitt, sondern nur eine erste Idee, wie ich den genannten Sachverhalt umsetzten könnte.

Vielen Dank im Voraus!

PS: Es geht nicht um DataFrames, sondern um eine Datenbankabfrage.
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

Indem du einfach die Joins hintereinander hängst.

Je nach SQL-Dialekt in etwa so:

Code: Alles auswählen

SELECT t1.field, t2.field, t3.field
FROM t1
LEFT JOIN t2 ON (t1.id = t2.id) 
LEFT JOIN t3 ON (t2.id2 = t3.id2);
Antworten