Folgendes Problem. Eine Tabelle "Mensch" mit diversen Feldern (siehe Anhang). Darunter auch 2 Fremdschlüssel (stadt, land). Jedoch können diese auch NULL sein, falls keine stadt bzw land zu geordnet ist.
Ich möchte ein Query, das alle Spalten der Tabelle "Mensch" und der Fremdtabellen zurückgibt, falls die IDs bei Mensch eingetragen sind.
1. Ansatz - Subquery
Problem: Man kann damit nur eine Spalte (stadtname) zurückliefern und nicht mehrere.
2. Ansatz - Join
Problem: Falls bei stadt NULL steht wird das land im 2. JOIN nicht mehr beachtet.
Mir will einfach keine Möglichkeit einfallen, das Problem in ein Query zu packen. Vielleicht ist es auch ganz einfach und ich habe gerade ein Brett vorm Kopf.
Ich möchte ein Query, das alle Spalten der Tabelle "Mensch" und der Fremdtabellen zurückgibt, falls die IDs bei Mensch eingetragen sind.
1. Ansatz - Subquery
Code:
SELECT (SELECT s.stadtname FROM städte s WHERE s.id = m.stadt) FROM mensch m
2. Ansatz - Join
Code:
SELECT s.stadtname, s.bundesland, l.einwohner FROM mensch m LEFT JOIN städte s ON s.id = m.stadt LEFT JOIN länder l ON l.id = m.land
Mir will einfach keine Möglichkeit einfallen, das Problem in ein Query zu packen. Vielleicht ist es auch ganz einfach und ich habe gerade ein Brett vorm Kopf.
Anhänge
Zuletzt bearbeitet:
(genauer formuliert, was ich möchte)