Priorität bei SQL-Verkettung

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

zachy
**
Beiträge: 37
Registriert: So, 13.05.2012 19:31

Priorität bei SQL-Verkettung

Beitrag von zachy »

Hallo Community,

ich habe in einem Listenfeld (Formular) eine Verkettungsabfrage hinterlegt, welche insgesamt zwei Tabellenspalten abfragt:

Code: Alles auswählen

SELECT "Nachname" + CHAR(32) + "Vorname" FROM tblKunde
Das Listenfeld gibt also folgenden Wert in einer Spalte aus: Nachname Vorname

Soweit so gut.... Problematisch wird es nur, wenn ich bei einem Kunden nur den Nachnamen gespeichert habe, der Vorname aber fehlt (z.B. weil der Kunde am Telefon seinen Vornamen nicht genannt hat oder ich ihn mir nicht merken konnte etc. pp)

In einem solchen Fall fehlt der gesamte Kundendatensatz, die Abfrage zeigt mir lediglich eine Leerzeile.

Kann man bei der oben genannten SQL-Abfrage eine "Priorität" auf den Nachnamen legen und den Vornamen als "optional" definieren. Ich möchte, dass mir der Datensatz angezeigt wird, auch wenn bei dem Kunden kein Vorname hinterlegt ist.

Viele Grüße
zachy
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Priorität bei SQL-Verkettung

Beitrag von komma4 »

zachy hat geschrieben:In einem solchen Fall fehlt der gesamte Kundendatensatz, die Abfrage zeigt mir lediglich eine Leerzeile.
Wenn der Datensatz fehlt, dann kann nichts angezeigt werden.
Ist die Spalte lediglich leer (NULL), dann sollte der Satz angezeigt werden.

Welche OOo Version, welches Betriebssystem, welche Datenbank, welcher DB-Treiber (-Verbindung).
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
zachy
**
Beiträge: 37
Registriert: So, 13.05.2012 19:31

Re: Priorität bei SQL-Verkettung

Beitrag von zachy »

komma4 hat geschrieben:
zachy hat geschrieben:In einem solchen Fall fehlt der gesamte Kundendatensatz, die Abfrage zeigt mir lediglich eine Leerzeile.
Wenn der Datensatz fehlt, dann kann nichts angezeigt werden.
Ist die Spalte lediglich leer (NULL), dann sollte der Satz angezeigt werden.

Welche OOo Version, welches Betriebssystem, welche Datenbank, welcher DB-Treiber (-Verbindung).
Ich habe mich undeutlich ausgedrückt:

Es gibt keine Probleme, wenn der Datensatz so aussieht (Beispiel):
Nachname: Müller Vorname: Otto

Das Listenfeld zeigt den Datensatz in der gewünschten Form (Nachname Vorname) an.

Folgender Datensatz macht Probleme (Beispiel):
Nachname: Müller Vorname: (leer)

Das Listenfeld zeigt hier nur eine leere Zeile.

OOo, OS und DB (s. meine Signatur)
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: AW: Priorität bei SQL-Verkettung

Beitrag von komma4 »

zachy hat geschrieben: OOo, OS und DB (s. meine Signatur)
Die sehe ich und andere mit mobilen Apps nicht... Und die Angaben können sich später ändern, wobei dieser Thread verfälscht wird!

Zum Problem :
wie schon geschrieben sollte die Anzeige auch bei leerer Spalte kommen
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
RobertG
********
Beiträge: 2068
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Priorität bei SQL-Verkettung

Beitrag von RobertG »

Mach's so:

Code: Alles auswählen

SELECT "Nachname" + CHAR(32) + IFNULL("Vorname",'') FROM tblKunde
Bei einer Koppelung mit einem Feld, das NULL ist, wird alles in der Koppelung NULL.

Gruß

Robert
Antworten