Hallo,
Ich möchte in einer Abfrage ein neues Feld erstellen, welches den Inhalt von Tabellenspalten kombinieren soll und dabei gewisse Bedingungen hat!
Tabelle: qry_Partner (und qry_Firma, spielt aber keine Rolle)
Tabellenfelder: [Anrede], [Vorname], [Name]
Bis jetzt sieht das so aus:
SELECT "qry_Firma"."FIRMENNR" AS "Firmennummer", "qry_Firma"."Firmennamen" AS "Firmenname", ("qry_Partner"."ANREDE" || ' ' || "qry_Partner"."VORNAME" || ' ' || "qry_Partner"."NAME") AS "Kontaktperson" ....
Wenn alle 3 Felder einen Inhalt aufweisen, is alles ok.
ABER, sobald ein Feld ohne Inhalt ist, bleibt das neue Feld "Kontaktperson" LEER.
z.B. [Anrede] = Herr , [Vorname] = Uwe, [Name]= Heinz
--> [Kontaktperson] = Herr Uwe Heinz alles OK
[Anrede] = Frau, [Vorname] = "LEER", [Name] = Schmidt
--> [Kontaktperson] = "LEER" Nicht ok!
Ziel: [Kontaktperson] = Frau Schmidt
Wie/ Wo fügt man nun in der SQL-Ansicht, bei den Abfragen eine Bedinung ein, die es mir u.a. erlaubt, solche Fälle zu berücksichtigen?
z.B. Wenn [Anrede] und [Name] gegeben, dann [Kontaktperson]= [Anrede + Name]
oder
Wenn nur [Anrede] gegeben (also kein Namensteil), dann soll [Kontaktperson] LEER bleiben (diesmal aber gewollt).
M.f.G. Deneb
Bedingung(en) in Abfrage ...
Moderator: Moderatoren
HI, so ... durch menschliche Hilfe haben wir eine Lösung gefunden!
das Zauberwort heißt: UNION
Bsp.
(SELECT
"qry_Firma"."FIRMENNR" AS "Firmennummer",
"qry_Firma"."Firmennamen" AS "Firmenname",
("qry_Partner"."ANREDE" || ' ' || "qry_Partner"."VORNAME" || ' ' || "qry_Partner"."NAME") AS "Kontaktperson",
"qry_Firma"."STRASSE" AS "Adresszeile 1",
"qry_Firma"."ABTEILUNG" AS "Adresszeile 2",
' ' AS "Adresszeile 3",
"qry_Firma"."ORT" AS "Ort",
"qry_Firma"."LAND" AS "Land/Gebiet",
"qry_Firma"."PLZ" AS "Postleitzahl",
'' AS "Staat/Provinz",
'0' AS "Privatzustellung",
' ' AS "Kundennummer",
"qry_Partner"."TELEFON1" AS "Telefonnummer",
' ' AS "USt-ID", ' ' AS "Standort-ID",
' ' AS "UPS Kundennummer",
' ' AS "Datensatzeigentümer",
"qry_Partner"."EMAIL" AS "E-Mail-Adresse 1",
'ups@es-manebach.de' AS "E-Mail-Adresse 2",
("qry_Partner"."VORNAME" || ' ' || "qry_Partner"."NAME") AS "Name des E-Mail-Empfängers 1" ,
'engineering und software gmbh' AS "Name des E-Mail-Empfängers 2"
FROM "qry_Partner", "qry_Firma"
WHERE ( "qry_Partner"."FIRMENNR" = "qry_Firma"."FIRMENNR" )AND "qry_Partner"."VORNAME" IS NOT NULL AND "qry_Partner"."NAME" IS NOT NULL )
UNION
(SELECT
"qry_Firma"."FIRMENNR" AS "Firmennummer",
"qry_Firma"."Firmennamen" AS "Firmenname",
("qry_Partner"."ANREDE" || ' ' || "qry_Partner"."NAME") AS "Kontaktperson",
"qry_Firma"."STRASSE" AS "Adresszeile 1",
"qry_Firma"."ABTEILUNG" AS "Adresszeile 2",
' ' AS "Adresszeile 3",
"qry_Firma"."ORT" AS "Ort",
"qry_Firma"."LAND" AS "Land/Gebiet",
"qry_Firma"."PLZ" AS "Postleitzahl",
'' AS "Staat/Provinz",
'0' AS "Privatzustellung",
' ' AS "Kundennummer",
"qry_Partner"."TELEFON1" AS "Telefonnummer",
' ' AS "USt-ID", ' ' AS "Standort-ID",
' ' AS "UPS Kundennummer",
' ' AS "Datensatzeigentümer",
"qry_Partner"."EMAIL" AS "E-Mail-Adresse 1",
'ups@es-manebach.de' AS "E-Mail-Adresse 2",
"qry_Partner"."NAME" AS "Name des E-Mail-Empfängers 1" ,
'engineering und software gmbh' AS "Name des E-Mail-Empfängers 2"
FROM "qry_Partner", "qry_Firma"
WHERE ( "qry_Partner"."FIRMENNR" = "qry_Firma"."FIRMENNR" ) AND "qry_Partner"."VORNAME" IS NULL )
Somit ist die Bedingung geschaffen, das man aus [Anrede], [Vornamen] und [Namen] ein eigenständiges Feld mit diesem Inhalt erhält,
gleichzeitig wir aus [Anrede] und [Name] (also dort, wo der Vorname fehlt) ein anderes Feld, nämlich [Anrede + Name] .... OHNE, das der Inhalt verschwindet!
M.f.G.
das Zauberwort heißt: UNION
Bsp.
(SELECT
"qry_Firma"."FIRMENNR" AS "Firmennummer",
"qry_Firma"."Firmennamen" AS "Firmenname",
("qry_Partner"."ANREDE" || ' ' || "qry_Partner"."VORNAME" || ' ' || "qry_Partner"."NAME") AS "Kontaktperson",
"qry_Firma"."STRASSE" AS "Adresszeile 1",
"qry_Firma"."ABTEILUNG" AS "Adresszeile 2",
' ' AS "Adresszeile 3",
"qry_Firma"."ORT" AS "Ort",
"qry_Firma"."LAND" AS "Land/Gebiet",
"qry_Firma"."PLZ" AS "Postleitzahl",
'' AS "Staat/Provinz",
'0' AS "Privatzustellung",
' ' AS "Kundennummer",
"qry_Partner"."TELEFON1" AS "Telefonnummer",
' ' AS "USt-ID", ' ' AS "Standort-ID",
' ' AS "UPS Kundennummer",
' ' AS "Datensatzeigentümer",
"qry_Partner"."EMAIL" AS "E-Mail-Adresse 1",
'ups@es-manebach.de' AS "E-Mail-Adresse 2",
("qry_Partner"."VORNAME" || ' ' || "qry_Partner"."NAME") AS "Name des E-Mail-Empfängers 1" ,
'engineering und software gmbh' AS "Name des E-Mail-Empfängers 2"
FROM "qry_Partner", "qry_Firma"
WHERE ( "qry_Partner"."FIRMENNR" = "qry_Firma"."FIRMENNR" )AND "qry_Partner"."VORNAME" IS NOT NULL AND "qry_Partner"."NAME" IS NOT NULL )
UNION
(SELECT
"qry_Firma"."FIRMENNR" AS "Firmennummer",
"qry_Firma"."Firmennamen" AS "Firmenname",
("qry_Partner"."ANREDE" || ' ' || "qry_Partner"."NAME") AS "Kontaktperson",
"qry_Firma"."STRASSE" AS "Adresszeile 1",
"qry_Firma"."ABTEILUNG" AS "Adresszeile 2",
' ' AS "Adresszeile 3",
"qry_Firma"."ORT" AS "Ort",
"qry_Firma"."LAND" AS "Land/Gebiet",
"qry_Firma"."PLZ" AS "Postleitzahl",
'' AS "Staat/Provinz",
'0' AS "Privatzustellung",
' ' AS "Kundennummer",
"qry_Partner"."TELEFON1" AS "Telefonnummer",
' ' AS "USt-ID", ' ' AS "Standort-ID",
' ' AS "UPS Kundennummer",
' ' AS "Datensatzeigentümer",
"qry_Partner"."EMAIL" AS "E-Mail-Adresse 1",
'ups@es-manebach.de' AS "E-Mail-Adresse 2",
"qry_Partner"."NAME" AS "Name des E-Mail-Empfängers 1" ,
'engineering und software gmbh' AS "Name des E-Mail-Empfängers 2"
FROM "qry_Partner", "qry_Firma"
WHERE ( "qry_Partner"."FIRMENNR" = "qry_Firma"."FIRMENNR" ) AND "qry_Partner"."VORNAME" IS NULL )
Somit ist die Bedingung geschaffen, das man aus [Anrede], [Vornamen] und [Namen] ein eigenständiges Feld mit diesem Inhalt erhält,
gleichzeitig wir aus [Anrede] und [Name] (also dort, wo der Vorname fehlt) ein anderes Feld, nämlich [Anrede + Name] .... OHNE, das der Inhalt verschwindet!
M.f.G.