Neues Abfragefeld erstellen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Deneb
**
Beiträge: 26
Registriert: Di, 12.12.2006 08:33
Wohnort: Manebach

Neues Abfragefeld erstellen

Beitrag von Deneb »

Hallo

Ich möchte in meiner Abfrage ein neues Feld erstellen, in dem die "Summe" von 2 vorrausgehenden Feldern enthalten ist

Also
z.B.
"Name", "Vorname", "Komplett"
Wurst, Hans, Hans Wurst

Wie bekommt man nun diese Kombination in ein neues Feld, mit einem Leerzeichen zwischen beiden Teilen?

M.f.G. Deneb
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Deneb,

mit einer Funktion. Welche Datenbank-Engine verwendest du? Du brauchst eine Funktion, die deine DB versteht. Für die HSQLDB könnte das z.B. lauten:

Code: Alles auswählen

CONCAT("Vorname", CONCAT(" ", "Name"))
Bei anderen DB kannst du meist auch Ketten schreiben, also so etwas wie :

Code: Alles auswählen

CONCAT("Vorname", " " , "Name")
Hängt eben von der DB ab.

Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Deneb
**
Beiträge: 26
Registriert: Di, 12.12.2006 08:33
Wohnort: Manebach

Beitrag von Deneb »

Hallo,

Ich verzweifel noch an dem Leerzeichen :cry:

Es gibt 2 Kriterien (NAME, VORNAME) aus der Tabelle (qry_Partner).

Sobald ich nun in die Abfrage "NAME" und "VORNAME" hinzufüge, geht noch alles wunderbar!
SO: SELECT "VORNAME", "NAME" FROM "qry_Partner"

Als Ergebnis erscheinen Name und Vorname in der neuen Abfragetabelle. Sobald ich es nun über den CONCAT-Befehl versuche eine neue Spalte als 'Kontaktperson' zu erstellen (VORNAME "LEERZEICHEN" NAME), bekomme ich eine Fehlermeldung.

SO: SELECT "VORNAME", "NAME", CONCAT("VORNAME", CONCAT(" ", "NAME")) AS "Kontaktperson" FROM "qry_Partner"

Die Fehlermeldung lautet:
Column not found: in statement [SELECT "VORNAME", "NAME", CONCAT("VORNAME", CONCAT(" ", "NAME")) AS "Kontaktperson" FROM "qry_Partner"]

zwischen "... found: in..." wird Platz für mein LEERZEICHEN gelassen.

Wie kann ich diesen Fehler umgehen (lösen) und meine Namensteile koppeln?

P.S. Es ist eine interne Datenbank in Base --> Also HSQLDB :wink:
OOo 2.0.4

M.f.G.
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Beitrag von Barlee »

Hallo Deneb,

probier mal

Code: Alles auswählen

concat(Vorname,' ',Nachname)
also gesamt

Code: Alles auswählen

SELECT "VORNAME", "NAME", concat(Vorname,' ',Nachname) AS "Kontaktperson" FROM "qry_Partner"

Gruß Barlee
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey,

Nein, die interne HSQLDB kann nur zwei Parameter mit Concat verarbeiten.
Allerdings ist richtig: Das Leerzeichen darf nur einfach gequoted sein, sorry, war mein Fehler :oops:

Also, richtig lautet es (für die HSQLDB):

Code: Alles auswählen

CONCAT("Vorname", CONCAT(' ', "Name"))
Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Antworten