SQL-Problem, Felddeklaration

C

Chino

Mitglied
Thread Starter
Dabei seit
22.03.2004
Beiträge
77
Reaktionspunkte
2
Hi,

ich weiß leider nicht ob ich hier mit meiner Frage richtig bin, probiere es aber mal trotzdem.

Folgende Ausgangslage: Ich habe eine eine DB für Fahrten von Außendienstmitarbeitern. Die Außendienstmitarbeiter benutzen jeweils unterschiedliche Autos. Der Kilometerstand der Autos soll anhand der zurückgelegten Fahrten automatisch ermittelt werden.

Ich habe also drei Tabellen.(Mitarbeiter, Fahrzeug, Fahrt).

Mitarbeiter mit den Feldern: ID, Name, Personalnr.,Branche
Fahrzeug mit den Feldern:ID, Model, Kennzeichen, Kilometerstand
Fahrt mit den Feldern: ID,Fahrer_id,Fahrzeug_id, Entfernung

Jetzt zu meiner Frage. Das Feld Kilometerstand in der Tabelle Fahrzeug soll automatisch anhand der zurückgelegten Strecke berechnet werden. Prinzipiell muss das meiner Meinung nach ungefähr so aussehen

"Kilometerstand = count (Entfernung) where Fahrt.Fahrzeug_id=Fahrzeug.id"

Dies ist lediglich meine Überlegung. Habe leider keine Idee wie ich das Feld in der richtigen Syntax in SQL definiere.

Hat vielleicht jemand einen Lösungsansatz?

Für Bemühungen und Antworten vielen Dank

mfg
 
Habe ich das richtig verstanden? Du möchtest die Tabelle Fahrzeug so anlegen, dass die Spalte Kilometerstand automatisch aktualisiert wird sobald du eine neue Fahrt hinzufügst?

Das wird nicht gehen glaube ich. SUM() ist ja kein Datentyp. (COUNT() ist übrigens nur zum zählen der Einträge).

Mit einem VIEW müsste das aber zu machen sein.

:eek:
 
Das ist, auch um die Gleichzeitigkeit von Zugriffenmit zu beachten, etwas für Trigger! Die können genau so etwas

"create trigger on insert"...

hängt von der verwendeten DB ab, ob sie sowas kann!
 
Nach meinem Verständnis müsste es genau anders herum sein: Die Strecke sollte aus dem letzten Kilometerstand minus dem vorherigen Kilometerstand berechnet werden.
 
Zurück
Oben Unten