MySQL - Wenn Zelleninhalt in View gleich NULL, dann Wert in Zelle schreiben?
Hallo,
ich habe gerade ein Problem, das ich anhand des folgenden Beispiels erkläre:
Tabelle 1:
Speichert allgemeine Daten eines KFZ. (Kennzeichen, Marke, Modell, ...)
Tabelle 2:
Speichert den aktuellen Zustand des KFZ (aufgeschlossen oder abgeschlossen). Zuordnung zu einem Fahrzeug durch Kennzeichen.
Zu Beginn liegen lediglich in Tabelle 1 die KFZ-Daten vor. Tabelle 2 ist leer. Tabelle 2 wird dann nach und nach gefüllt.
Mit einem View wird von jedem KFZ der aktuelle Zustand (aufgeschlossen/abgeschlossen) angezeigt.
Das sieht dann z.B. so aus:
Liegt für ein Kennzeichen noch kein Zustand vor, so ist dessen Wert in der Spalte kfz_zustaende.zustand NULL. Ich hätte dann aber gerne einen Art Default-Wert. Also dass der View in der Spalte kfz_zustaende.zustand die NULLs z.B. durch 'aufgeschlossen' ersetzt.
Gibt es dafür eine Möglichkeit?
Danke
ich habe gerade ein Problem, das ich anhand des folgenden Beispiels erkläre:
Tabelle 1:
Speichert allgemeine Daten eines KFZ. (Kennzeichen, Marke, Modell, ...)
Tabelle 2:
Speichert den aktuellen Zustand des KFZ (aufgeschlossen oder abgeschlossen). Zuordnung zu einem Fahrzeug durch Kennzeichen.
Zu Beginn liegen lediglich in Tabelle 1 die KFZ-Daten vor. Tabelle 2 ist leer. Tabelle 2 wird dann nach und nach gefüllt.
Mit einem View wird von jedem KFZ der aktuelle Zustand (aufgeschlossen/abgeschlossen) angezeigt.
Das sieht dann z.B. so aus:
SELECT kfz.kennzeichen, kfz_zustaende.zustand FROM kfz
LEFT JOIN kfz_zustaende
ON kfz.kennzeichen = kfz_zustaende.kennzeichen
Liegt für ein Kennzeichen noch kein Zustand vor, so ist dessen Wert in der Spalte kfz_zustaende.zustand NULL. Ich hätte dann aber gerne einen Art Default-Wert. Also dass der View in der Spalte kfz_zustaende.zustand die NULLs z.B. durch 'aufgeschlossen' ersetzt.
Gibt es dafür eine Möglichkeit?
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 267032
Url: https://administrator.de/contentid/267032
Ausgedruckt am: 23.11.2024 um 01:11 Uhr
5 Kommentare
Neuester Kommentar
Moin,
du könntest die fehlenden Infos z.B. so in der zweiten Tabelle ergänzen
http://www.w3schools.com/sql/sql_insert_into_select.asp
Oder gleich einen Default Wert für die Spalte definieren, so dass senn man ein neues Kennzeichen erfasst auch gleich ein Eintrag in der anderen Tabelle gemacht wird.
Gruß jodel32
du könntest die fehlenden Infos z.B. so in der zweiten Tabelle ergänzen
INSERT INTO kfz_zustaende (kennzeichen,zustand)
SELECT kfz.kennzeichen,"aufgeschlossen"
FROM kfz
LEFT JOIN kfz_zustaende
ON kfz.kennzeichen = kfz_zustaende.kennzeichen
WHERE kfz_zustaende.zustand is NULL
Oder gleich einen Default Wert für die Spalte definieren, so dass senn man ein neues Kennzeichen erfasst auch gleich ein Eintrag in der anderen Tabelle gemacht wird.
Gruß jodel32
Servus,
was auch immer du planst, nur so als Hinweis:
Überlege dir, ob es nicht vorkommen kann, dass hinter einem Kennzeichen einmal ein anderes Auto steckt (Verkauf, ...). Dann passt der Schlüssel hier ev. nicht. Für Frankreich sollte es passen, wenn ich mich richtig erinnere, hat dort ein Auto ein "Leben" lang dasselbe Kennzeichen.
Grüße, Stefan
was auch immer du planst, nur so als Hinweis:
Zuordnung zu einem Fahrzeug durch Kennzeichen.
Überlege dir, ob es nicht vorkommen kann, dass hinter einem Kennzeichen einmal ein anderes Auto steckt (Verkauf, ...). Dann passt der Schlüssel hier ev. nicht. Für Frankreich sollte es passen, wenn ich mich richtig erinnere, hat dort ein Auto ein "Leben" lang dasselbe Kennzeichen.
Grüße, Stefan