Hallo
Folgende Tabelle habe ich
table1
id ! titel ! city ! country 1 ! inhalt ! 1 ! 3 2 ! inhalt ! 2 ! 3 3 ! inhalt ! 4 ! 3
table2
id ! titel 1 ! berlin 2 ! koeln 3 ! germany 4 ! munich
Alle Datensätze sind Städte, bis auf einen, der ein Land bezeichnet (wenn es denn bei diesem Datenbestand bleibt). Das passt nicht zusammen. Insbesondere lässt sich nicht zuverlässig ermitteln, welcher der Datensätze ein Land und welcher eine Stadt bezeichnet.
Erstelle stattdessen eine dritte Tabelle, die die Länder enthält und verweise aus der Städtetabelle auf die ID des Landes. Die Spalte country fliegt dafür aus table1 raus, weil diese Beziehung zwischen table2 und table3 hergestellt wird.
table1
id ! titel ! city 1 ! inhalt ! 1 2 ! inhalt ! 2 3 ! inhalt ! 4
table2
id ! titel ! land 1 ! berlin ! 1 2 ! koeln ! 1 3 ! munich ! 1 4 ! paris ! 2
table3
id ! titel 1 ! germany 2 ! france
Das Ziel ist
id ! titel ! city ! country 1 ! inhalt ! berlin ! germany 2 ! inhalt ! koeln ! germany 3 ! inhalt ! munich ! germany
-- aus der hohlen Hand und daher ungetestet
SELECT
table1.id,
table1.titel,
table2.titel AS city,
table3.country
FROM table3
INNER JOIN (table1
INNER JOIN table2
ON table1.city = table2.id)
ON table3.id = table2.land;
Tschö, Auge
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war. Terry Pratchett, "Wachen! Wachen!" ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}