Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#14

AW: DB Modell für Fahrzeug, Marke, Modell?

  Alt 5. Apr 2013, 15:39
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
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat