Yadgar: Problem mit JOIN

Beitrag lesen

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