Microhome
Erfahrenes Mitglied
Hallo zusammen,
ich möchte gern drei Tabellen miteinander verknüpfen und hierfür folgendes Beispiel nennen:
Tabelle 1: Person
Spalten: ID, Name, Vorname, Geschlecht
Beispiel:
21, Krüger, Jana, w
24, Müller, Mark, m
Tabelle 2: Frauen
Spalten: ID, PID, Haarfarbe, Schuhmarke, Parfüm
Beispiel: 12, 21, blond, Guess, PRADA Amber
Tabelle 3: Maenner
Spalten: ID, PID, Auto, Beruf, Lieblingssport
Beispiel: 4, 24, VW, Designer, Tennis
Mein Vorhaben ist nun, diese Tabellen miteinander zu verknüpfen bzw. Tabelle 1 (Person) jeweils mit der Tabelle Frauen bzw. mit der Tabelle Männer zu verbinden.
Im Moment mache ich das folgendermaßen:
Das Problem ist, dass ich pro Zeile eben auch alle NULL Felder ausgegeben bekomme, was ich verhindern möchte. Dh. es soll entweder automatisch in der SQL Query zu der jeweils richtigen Tabelle gejoint, oder aber die NULL Einträge nicht mit ausgegeben werden.
Habt ihr einen Vorschlag? Sicher wäre eine Möglichkeit die Verwendung von UNION, aber ist das die einzige?
Vielen Dank für eure Hilfe und ich freue mich auf Vorschläge!
ich möchte gern drei Tabellen miteinander verknüpfen und hierfür folgendes Beispiel nennen:
Tabelle 1: Person
Spalten: ID, Name, Vorname, Geschlecht
Beispiel:
21, Krüger, Jana, w
24, Müller, Mark, m
Tabelle 2: Frauen
Spalten: ID, PID, Haarfarbe, Schuhmarke, Parfüm
Beispiel: 12, 21, blond, Guess, PRADA Amber
Tabelle 3: Maenner
Spalten: ID, PID, Auto, Beruf, Lieblingssport
Beispiel: 4, 24, VW, Designer, Tennis
Mein Vorhaben ist nun, diese Tabellen miteinander zu verknüpfen bzw. Tabelle 1 (Person) jeweils mit der Tabelle Frauen bzw. mit der Tabelle Männer zu verbinden.
Im Moment mache ich das folgendermaßen:
SQL:
SELECT *
FROM personen p
LEFT JOIN frauen f ON f.pid = p.id
LEFT JOIN maenner m ON m.pid = p.id
Das Problem ist, dass ich pro Zeile eben auch alle NULL Felder ausgegeben bekomme, was ich verhindern möchte. Dh. es soll entweder automatisch in der SQL Query zu der jeweils richtigen Tabelle gejoint, oder aber die NULL Einträge nicht mit ausgegeben werden.
Habt ihr einen Vorschlag? Sicher wäre eine Möglichkeit die Verwendung von UNION, aber ist das die einzige?
Vielen Dank für eure Hilfe und ich freue mich auf Vorschläge!
Zuletzt bearbeitet von einem Moderator: