Hi,
Es geht um eine Abfrage. Es gibt das Feld "FEST1" mit der Festnetz-Telefonnummer und das Feld "MOBIL1" mit der Mobiltelefonnummer.
Diese möchte ich in einem neuen Feld zusammenfassen. Probiert habe ich:
CONCAT( "FEST1", "MOBIL1" ) AS "Telefon"
und
"FEST1" || "MOBIL1" AS "Telefon"
Im Prinzip geht es mit beiden.
Das Problem:
Ich bekomme nur dann ein Ergebnis in der Spalte "Telefon" angezeigt, wenn beide Ausgangsfelder gefüllt sind. Wenn nur das Feld "FEST1" gefüllt ist, bleibt die Spalte "Telefon" leer.
Die Datenquelle ist eine ODBC-Datenquelle auf eine IBM-AS400-Datenbank.
Hat jemand eine Idee?
Vielen Dank + Gruss, ClaLu
CONCAT
Moderator: Moderatoren
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Re: CONCAT
Schau Dir die Syntax von CASE WHEN für DB400 an.
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Re: CONCAT
Hallo ClaLu,
in Base bei eingebetteter Datenbank funktioniert es so:
oder so
wobei Du die ifnull-Bedingung frei formulieren kannst, es muß also nicht "keinFN" heißen, zwei Hochkommata geht beispielsweise auch.
Statt "Tab_Tel" nimm Deinen Tabellennamen.
Ob das bei der IBM AS 400 so klappt, weiß ich nicht, wirst Du aber rausfinden.
Gruß
acco
in Base bei eingebetteter Datenbank funktioniert es so:
Code: Alles auswählen
SELECT CONCAT( ifnull( "Fest1", 'keinFN' ), ifnull( "Mobil1", 'keinMobil' ) ) FROM "Tab_Tel"
Code: Alles auswählen
SELECT ifnull( "Fest1", 'keinFN' ) || ' ' || ifnull( "Mobil1", 'keinMobil' ) FROM "Tab_Tel"
Statt "Tab_Tel" nimm Deinen Tabellennamen.
Ob das bei der IBM AS 400 so klappt, weiß ich nicht, wirst Du aber rausfinden.
Gruß
acco
openSUSE 13.1, LibreOffice 4.3.2.2
Re: CONCAT
Hi
Ganz lieben Dank für die schnellen Antworten.
Mit ifnull habe ich es noch nicht probiert, aber mit CASE habe ich es nach einigem Üben hinbekommen.
Ich werde es später auch noch mit ifnull probieren, habe aber noch eine Frage:
SQL ist mir nicht sehr vertraut - gilt ifnull sowohl bei numerischen wie auch bei character-Felder und bedeutet es sowohl im einen wie auch im anderen Fall eine Abfrage auf "leer"?
Schöne Grüsse!
Ganz lieben Dank für die schnellen Antworten.
Mit ifnull habe ich es noch nicht probiert, aber mit CASE habe ich es nach einigem Üben hinbekommen.
Ich werde es später auch noch mit ifnull probieren, habe aber noch eine Frage:
SQL ist mir nicht sehr vertraut - gilt ifnull sowohl bei numerischen wie auch bei character-Felder und bedeutet es sowohl im einen wie auch im anderen Fall eine Abfrage auf "leer"?
Schöne Grüsse!
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Re: CONCAT
IBM hat doch hervorragende Handbücher, die m. W. mit der AS/400, bzw. iSeries mitgeliefert werden.ClaLu hat geschrieben:SQL ist mir nicht sehr vertraut -
So ist es. Wenn Du z. B. Datensätze, die ein einer Spalte leere Inhalte aufweisen, ausschließen möchtest, lautet die Syntax:ClaLu hat geschrieben: gilt ifnull sowohl bei numerischen wie auch bei character-Felder und bedeutet es sowohl im einen wie auch im anderen Fall eine Abfrage auf "leer"?
Dokumentationen für Standard-SQL findest Du z. B. unter:SELECT *
FROM Tabelle1
WHERE Feld1 Is Null
http://www.sql-und-xml.de/sql-tutorial/
http://sql.1keydata.com/de/
Darüber hinaus hat jeder Datenbank-Hersteller seine eigenen Schmankerl.
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1