Feldbezogene Ergebnisse - FAQ-Base

From The Document Foundation Wiki
< Faq‎ | Base‎ | 028
Jump to: navigation, search


Wie erstellt man berechnete Felder oder Ergebnisse abhängig von einer Funktion, die auf andere Felder angewendet wird?

Beispiel: Feld C = Multiplikation der Felder A & B

Dieser Effekt wird nicht direkt in einer Tabelle erzeugt. Eine der Prinzipien in einer relationalen Datenbank ist, dass berechnete Daten nicht gespeichert werden, da sie berechnet werden können.

Mit LibreOffice ist es notwendig, eine Sicht oder eine Abfrage zur Berechnung zu verwenden.

Für eine Multiplikation ist dies denkbar einfach:

SELECT "Anzahl" * "Preis" FROM "Tabelle"

Auch Felder, die Text enthalten können miteinander verbunden werden:

SELECT "Nachname"||', '||"Vorname" FROM "Tabelle"

  • Ein leeres Ergebnis (NULL) entsteht, wenn eines der Teile leer ist.
  • Die Spaltenüberschrift wird standardmäßig die Formel für die Berechnung sein.

Die nachfolgende Abfrage vermeidet, dass ein leeres Ergebnis entsteht, wenn kein "Vorname" vorhanden ist. Außerden wird dem Feld ein Alias "Name" zugeweisen, so dass nicht "Nachname"||', '||"Vorname" als Spaltenüberschrift verwendet wird:

SELECT "Nachname"||COALESCE(', '||"Vorname",' ') AS "Name" FROM "Tabelle"