High!
Folgendes Problem: Zwei Tabellen: instrumentenhersteller (mit den Spalten ID und Name), instrumentenmodelle (mit den Spalten ID, Hersteller, Modell, Typ).
Da die Spalte "Typ" in "instrumentenmodelle" sich auf die Spalte "instrumente" bezieht, es in den konkreten Rohdaten aber durchaus vorkommen kann, dass nur das Instrument (z. B. elektronische Orgel, Synthesizer etc.) bekannt ist, nicht aber Hersteller und Modellbezeichnung, stehen in "instrumentenmodelle" unter "Modell" auch die Bezeichnungen aus "instrument", "Hersteller" hat dann logischerweise den Wert 0.
Wenn ich jetzt versuche, Modell und Hersteller (sofern vorhanden) in einer Tabelle anzeigen zu lassen:
SELECT instrumentenhersteller.Name, instrumentenmodelle.Modell FROM instrumentenmodelle LEFT JOIN instrumentenhersteller ON instrumentenmodelle.Hersteller = instrumentenhersteller.ID OR instrumentenmodelle.Hersteller = 0 ORDER BY Hersteller, Modell
bekomme ich für die Tupel, wo "Hersteller" 0 ist, eine Kreuzverknüpfung angezeigt, die übrigen Tupel jedoch nur einmal. Das sieht so aus:
Name Modell
Korg elektronische Orgel
Yamaha elektronische Orgel
Hammond elektronische Orgel
Yamaha elektronische Orgel
Korg elektronische Orgel
Hammond elektronische Orgel
Yamaha Electone C-55N
Yamaha SY-55
Hammond B3
Richtig wäre es so:
Name Modell
elektronische Orgel
elektronische Orgel
Yamaha Electone C-55N
Yamaha SY-55
Hammond B3
Wie bekomme ich das hin?
Bis bald im Khyberspace!
Yadgar