Verkettung von Feldern mit leeren Feldern

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

dolii45
Beiträge: 1
Registriert: So, 22.03.2015 10:03

Verkettung von Feldern mit leeren Feldern

Beitrag von dolii45 »

Liebe Forumsgemeinde,

Frage zur internen Datenbank in LO 4.3 / Windows 7

Ich möchte in einer Adressliste Vorname, Name, Straße und Ort verketten und alle Datensätze jeweils ohne störende Zwischenräume ausdrucken. Also z.B. getrennt durch ein Leerzeichen oder ein Komma. Jede Lösung ist mir recht. Ich habe nur die Möglichkeit über die Abfrage gefunden:

SELECT "Adressen"."Vorname" || ' ' || "Adressen"."Name" || ' ' || "Adressen"."Ort" "#Name" FROM "Adressen"

Das Problem ist:
Wenn in einem Datensatz ein oder mehrere Daten nicht eingetragen sind (z.B. der Vorname oder der Ort fehlt), dann wird dieser ganze Datensatz in der Abfrage einfach ignoriert und nicht ausgeworfen.

Wer kann mir eine Lösung nennen?
Vielen Dank Andreas


Moderation,4: Betreff korrigiert
dolii
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Verkettung von Feldern mit leeren Feldern

Beitrag von RobertG »

Hallo Andreas,

warum hat Dein Thread eine so merkwürdige Bezeichnung? Die ergibt doch überhaupt keinen Sinn.

Zum Inhalt:

Code: Alles auswählen

SELECT "Vorname" || ' ' || "Name" || ' ' || "Ort" "Name" FROM "Adressen"
Die Bennung der Tabelle kannst Du Dir sparen, wenn nur eine Tabelle in der Abfrage steht.

Code: Alles auswählen

SELECT IFNULL("Vorname" || ' ','' )|| "Name" || ' ' || "Ort" "Name" FROM "Adressen"
sorgt dafür, dass auch bei nicht vorhandenem Vornamen der Datensatz angezeigt wird. Das Leerzeichen wird gleich mit ausgelassen.

Genauso kannst Du dafür natürlich etwas anderes einfügen wie

Code: Alles auswählen

SELECT IFNULL("Vorname",' -??-' ) || ' ' || "Name" || ' ' || "Ort" "Name" FROM "Adressen"
Jedes Feld, in dem gegebenenfalls kein Inhalt steht und bei dem Du trotzdem einen Datensatz sehen möchtest kannst Du mit IFNULL() entsprechend bearbeiten.

Gruß

Robert
Antworten