Seite 1 von 1

Priorität bei SQL-Verkettung

Verfasst: Di, 11.12.2012 10:51
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

Re: Priorität bei SQL-Verkettung

Verfasst: Di, 11.12.2012 13:39
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).

Re: Priorität bei SQL-Verkettung

Verfasst: Di, 11.12.2012 14:08
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)

Re: AW: Priorität bei SQL-Verkettung

Verfasst: Di, 11.12.2012 14:38
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

Re: Priorität bei SQL-Verkettung

Verfasst: Di, 11.12.2012 15:17
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