gelöst: SQL-Abfrage: Mit decode Werte anders ausgeben ...
Verfasst: Mi 15. Feb 2017, 20:03
Hallo Liste.
Ich habe die Jameica/JVerein-DB in Base eingebunden.
Darin gibt es eine Abfrage auf die Mitgliedertabelle(n).
Soweit alles klar.
Mein Problem:
Ich habe eine Spalte mit Kategorien: Darin gibt es vier verschiedenen Werte (derzeit):
26 ---> bedeutet XPRG
27 ---> bedeutet 1PRG
28 ---> bedeutet 1PLK
29 ---> bedeutet ÜPLK
Ich möchte in der Abfrage als Ergebnis aber nicht die Werte 26 bis 29 haben, sondern "übersetzte, so wie wir intern diese Zahlen betrachten. Also z.b. 1PRG für den Wert 27.
Ich weiss aber nicht wie ich das in den Select integrieren kann. Das müsste doch mit dem SQL-Befehl decode gehen ... aber leider habe ich das Knowhow nicht dazu ...
Hier mal der Select:
------------------------------
SELECT
"MITGLIED"."ID" "ID", "MITGLIED"."EXTERNEMITGLIEDSNUMMER" "EXTERNEMITGLIEDSNUMMER", "MITGLIED"."ADRESSTYP" "ADRESSTYP", "MITGLIED"."PERSONENART" "PERSONENART", "MITGLIED"."ANREDE" "ANREDE", "MITGLIED"."TITEL" "TITEL",
"MITGLIED"."NAME" "NAME", "MITGLIED"."VORNAME" "VORNAME", "MITGLIED"."ADRESSIERUNGSZUSATZ" "ADRESSIERUNGSZUSATZ", "MITGLIED"."STRASSE" "STRASSE", "MITGLIED"."PLZ" "PLZ", "MITGLIED"."ORT" "ORT", "MITGLIED"."STAAT" "STAAT",
"MITGLIED"."ZAHLUNGSWEG" "ZAHLUNGSWEG", "MITGLIED"."ZAHLUNGSRHYTMUS" "ZAHLUNGSRHYTMUS", "MITGLIED"."BIC" "BLZ", "MITGLIED"."IBAN" "KONTO", "MITGLIED"."KTOINAME" "KONTOINHABER", "MITGLIED"."GEBURTSDATUM" "GEBURTSDATUM",
"MITGLIED"."GESCHLECHT" "GESCHLECHT", "MITGLIED"."TELEFONPRIVAT" "TELEFONPRIVAT", "MITGLIED"."TELEFONDIENSTLICH" "TELEFONDIENSTLICH", "MITGLIED"."HANDY" "HANDY", "MITGLIED"."EMAIL" "EMAIL", "MITGLIED"."EINTRITT" "EINTRITT",
"MITGLIED"."BEITRAGSGRUPPE" "BEITRAGSGRUPPE", "MITGLIED"."INDIVIDUELLERBEITRAG" "INDIVIDUELLERBEITRAG", "MITGLIED"."ZAHLERID" "ZAHLERID", "MITGLIED"."AUSTRITT" "AUSTRITT", "MITGLIED"."KUENDIGUNG" "KUENDIGUNG",
"MITGLIED"."STERBETAG" "STERBETAG", "MITGLIED"."VERMERK1" "VERMERK1", "MITGLIED"."VERMERK2" "VERMERK2", "MITGLIED"."EINGABEDATUM" "EINGABEDATUM", "MITGLIED"."LETZTEAENDERUNG" "LETZTEAENDERUNG", "ZUSATZFELDER"."ID" "Z_ID",
"ZUSATZFELDER"."MITGLIED" "Z_MITGLIED", "ZUSATZFELDER"."FELDDEFINITION" "WART", "ZUSATZFELDER"."FELD" "FELD", "ZUSATZFELDER"."FELDDATUM" "FELDDATUM", "ZUSATZFELDER"."FELDGANZZAHL" "FELDGANZZAHL",
"ZUSATZFELDER"."FELDGLEITKOMMAZAHL" "FELDGLEITKOMMAZAHL", "ZUSATZFELDER"."FELDWAEHRUNG" "FELDWAEHRUNG", "ZUSATZFELDER"."FELDJANEIN" "FELDJANEIN"
FROM
"JVEREIN"."PUBLIC"."MITGLIED" AS "MITGLIED",
"JVEREIN"."PUBLIC"."ZUSATZFELDER" AS "ZUSATZFELDER"
WHERE
"MITGLIED"."ID" = "ZUSATZFELDER"."MITGLIED" AND "ZUSATZFELDER"."FELDDEFINITION" IN ( '26', '27', '28', '29' ) AND "FELDJANEIN" = '1'
AND "MITGLIED"."ADRESSTYP" = '5' ORDER BY "STAAT" ASC, "MITGLIED"."NAME" ASC
------------------------------
Es geht um das hier: im select-Teil
"ZUSATZFELDER"."FELDDEFINITION" "WART",
Im Where-Teil
"ZUSATZFELDER"."FELDDEFINITION" IN ( '26', '27', '28', '29' )
Hat mir jemand bitte den entscheidenden Tip?
Danke
Gruss vom Bodensee
Gerhard
Ich habe die Jameica/JVerein-DB in Base eingebunden.
Darin gibt es eine Abfrage auf die Mitgliedertabelle(n).
Soweit alles klar.
Mein Problem:
Ich habe eine Spalte mit Kategorien: Darin gibt es vier verschiedenen Werte (derzeit):
26 ---> bedeutet XPRG
27 ---> bedeutet 1PRG
28 ---> bedeutet 1PLK
29 ---> bedeutet ÜPLK
Ich möchte in der Abfrage als Ergebnis aber nicht die Werte 26 bis 29 haben, sondern "übersetzte, so wie wir intern diese Zahlen betrachten. Also z.b. 1PRG für den Wert 27.
Ich weiss aber nicht wie ich das in den Select integrieren kann. Das müsste doch mit dem SQL-Befehl decode gehen ... aber leider habe ich das Knowhow nicht dazu ...
Hier mal der Select:
------------------------------
SELECT
"MITGLIED"."ID" "ID", "MITGLIED"."EXTERNEMITGLIEDSNUMMER" "EXTERNEMITGLIEDSNUMMER", "MITGLIED"."ADRESSTYP" "ADRESSTYP", "MITGLIED"."PERSONENART" "PERSONENART", "MITGLIED"."ANREDE" "ANREDE", "MITGLIED"."TITEL" "TITEL",
"MITGLIED"."NAME" "NAME", "MITGLIED"."VORNAME" "VORNAME", "MITGLIED"."ADRESSIERUNGSZUSATZ" "ADRESSIERUNGSZUSATZ", "MITGLIED"."STRASSE" "STRASSE", "MITGLIED"."PLZ" "PLZ", "MITGLIED"."ORT" "ORT", "MITGLIED"."STAAT" "STAAT",
"MITGLIED"."ZAHLUNGSWEG" "ZAHLUNGSWEG", "MITGLIED"."ZAHLUNGSRHYTMUS" "ZAHLUNGSRHYTMUS", "MITGLIED"."BIC" "BLZ", "MITGLIED"."IBAN" "KONTO", "MITGLIED"."KTOINAME" "KONTOINHABER", "MITGLIED"."GEBURTSDATUM" "GEBURTSDATUM",
"MITGLIED"."GESCHLECHT" "GESCHLECHT", "MITGLIED"."TELEFONPRIVAT" "TELEFONPRIVAT", "MITGLIED"."TELEFONDIENSTLICH" "TELEFONDIENSTLICH", "MITGLIED"."HANDY" "HANDY", "MITGLIED"."EMAIL" "EMAIL", "MITGLIED"."EINTRITT" "EINTRITT",
"MITGLIED"."BEITRAGSGRUPPE" "BEITRAGSGRUPPE", "MITGLIED"."INDIVIDUELLERBEITRAG" "INDIVIDUELLERBEITRAG", "MITGLIED"."ZAHLERID" "ZAHLERID", "MITGLIED"."AUSTRITT" "AUSTRITT", "MITGLIED"."KUENDIGUNG" "KUENDIGUNG",
"MITGLIED"."STERBETAG" "STERBETAG", "MITGLIED"."VERMERK1" "VERMERK1", "MITGLIED"."VERMERK2" "VERMERK2", "MITGLIED"."EINGABEDATUM" "EINGABEDATUM", "MITGLIED"."LETZTEAENDERUNG" "LETZTEAENDERUNG", "ZUSATZFELDER"."ID" "Z_ID",
"ZUSATZFELDER"."MITGLIED" "Z_MITGLIED", "ZUSATZFELDER"."FELDDEFINITION" "WART", "ZUSATZFELDER"."FELD" "FELD", "ZUSATZFELDER"."FELDDATUM" "FELDDATUM", "ZUSATZFELDER"."FELDGANZZAHL" "FELDGANZZAHL",
"ZUSATZFELDER"."FELDGLEITKOMMAZAHL" "FELDGLEITKOMMAZAHL", "ZUSATZFELDER"."FELDWAEHRUNG" "FELDWAEHRUNG", "ZUSATZFELDER"."FELDJANEIN" "FELDJANEIN"
FROM
"JVEREIN"."PUBLIC"."MITGLIED" AS "MITGLIED",
"JVEREIN"."PUBLIC"."ZUSATZFELDER" AS "ZUSATZFELDER"
WHERE
"MITGLIED"."ID" = "ZUSATZFELDER"."MITGLIED" AND "ZUSATZFELDER"."FELDDEFINITION" IN ( '26', '27', '28', '29' ) AND "FELDJANEIN" = '1'
AND "MITGLIED"."ADRESSTYP" = '5' ORDER BY "STAAT" ASC, "MITGLIED"."NAME" ASC
------------------------------
Es geht um das hier: im select-Teil
"ZUSATZFELDER"."FELDDEFINITION" "WART",
Im Where-Teil
"ZUSATZFELDER"."FELDDEFINITION" IN ( '26', '27', '28', '29' )
Hat mir jemand bitte den entscheidenden Tip?
Danke
Gruss vom Bodensee
Gerhard