Seite 1 von 1
					
				CONCAT
				Verfasst: Do, 12.06.2014 09:20
				von ClaLu
				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
			 
			
					
				Re: CONCAT
				Verfasst: Do, 12.06.2014 10:47
				von pmoegenb
				Schau Dir die Syntax von 
CASE WHEN für DB400 an.
 
			 
			
					
				Re: CONCAT
				Verfasst: Do, 12.06.2014 11:27
				von acco
				Hallo ClaLu,
in Base bei eingebetteter Datenbank funktioniert es so:
Code: Alles auswählen
SELECT CONCAT( ifnull( "Fest1", 'keinFN' ), ifnull( "Mobil1", 'keinMobil' ) ) FROM "Tab_Tel"
oder so
Code: Alles auswählen
SELECT ifnull( "Fest1", 'keinFN' ) || ' ' || ifnull( "Mobil1", 'keinMobil' ) FROM "Tab_Tel"
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
 
			 
			
					
				Re: CONCAT
				Verfasst: Do, 12.06.2014 12:26
				von ClaLu
				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!
			 
			
					
				Re: CONCAT
				Verfasst: Do, 12.06.2014 12:40
				von pmoegenb
				ClaLu hat geschrieben:SQL ist mir nicht sehr vertraut -
IBM hat doch hervorragende Handbücher, die m. W. mit der AS/400, bzw. iSeries mitgeliefert werden. 
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"?
So ist es. Wenn Du z. B. Datensätze, die ein einer Spalte leere Inhalte aufweisen, ausschließen möchtest, lautet die Syntax:
SELECT *
FROM Tabelle1
WHERE Feld1 Is Null
Dokumentationen für Standard-SQL findest Du z. B. unter:
http://www.sql-und-xml.de/sql-tutorial/
http://sql.1keydata.com/de/
Darüber hinaus hat jeder Datenbank-Hersteller seine eigenen Schmankerl.