Wenn man es noch genauer haben möchte, dann muss man auch noch die Modellvariante berücksichtigen
Code:
Marke
- ID
- Bezeichnung
Modell
- ID
- Marke_ID
- Bezeichnung
Variante
- ID
- Modell_ID
- Bezeichnung
Für die Auswahl des entsprechenden Modells (z.B. in
einer ComboBox/ListBox) nimmt man dann folgende Abfrage
SQL-Code:
SELECT Variante.ID AS ID,
CONCAT( Marke.Bezeichnung, ' - ', Modell.Bezeichnung, ' (', Variante.Bezeichnung, ')' ) AS Bezeichnung
FROM Variante
JOIN Modell ON Variante.Modell_ID = Modell.ID
JOIN Marke ON Modell.Marke_ID = Marke.ID
ORDER BY Marke.Bezeichnung, Modell.Bezeichnung, Variante.Bezeichnung
Will man für Marke, Modell, Variante jeweils eine ComboBox/ListBox haben, so sehen die Abfragen wie folgt aus (Master-Detail)
Marke:
SQL-Code:
SELECT ID, Bezeichnung
FROM Marke
ORDER BY Bezeichnung
Modell (Detail von Marke):
SQL-Code:
SELECT ID, Bezeichnung
FROM Modell
WHERE Marke_ID = :ID
ORDER BY Bezeichnung
Variante (Detail von Modell):
SQL-Code:
SELECT ID, Bezeichnung
FROM Variante
WHERE Modell_ID = :ID
ORDER BY Bezeichnung
Gespeichert wird aber immer nur die Varianten-ID, die anderen (Marke,Modell) sind nur für die Eingrenzung von Modell und Variante