CASE oder IIF?

cabal

Neuer Benutzer
Beiträge
2
Hallo Leute,

ich wollte mir mal eine kleine Hilfestellung holen, wenn ihr mir das beantworten könnt :-)...

Es geht mir darum, dass ich eine Beschreibung (Description) von einer Zahl (Ist ein Textfeld) zu einem Buchstaben ändern will, während ich diese in eine neue Tabelle schieben möchte.

Da ich nicht weiss, inwieweit Access gewisse Funktionen nicht beherrscht, habe ich folgendes probiert:

INSERT INTO ZIELTABELLE (ID, DESCRIPTION, PREIS)
SELECT SERVICE_ID, QUELLE= CASE WHEN = '1' THEN 'D' WHEN = '2' THEN 'E' END, RATE
FROM URSPRUNGSTABELLE

Oder auch mit einer IIF. Hier hat es aber nur mit der ersten IIF funktioniert. Wenn ich die 2. einbaue, geht es wieder nicht.

INSERT INTO ZIELTABELLE (ID, DESCRIPTION, PREIS)
SELECT SERVICE_ID, IIF (QUELLE= '1', 'D') or IIF (QUELLE='2', 'E'), RATE
FROM URSPRUNGSTABELLE

Beides ging leider nicht so, wie ich es wollte.

Was hab ich falsch gemacht?

Danke für eure Hilfe!

VG
 
Werbung:
Was ist denn die Ausgangsdatenbank? Mit IF geht es z.B. bei MSSQL nicht, ich glaube das gibt bei den meisten TSQL DBs Probleme.

Probier mal das:
Code:
INSERT INTO ZIELTABELLE (ID, DESCRIPTION, PREIS)
SELECT SERVICE_ID AS ID, (CASE QUELLE WHEN '1' THEN 'D' WHEN '2' THEN 'E' END) AS DESCRIPTION, RATE AS PREIS
FROM URSPRUNGSTABELLE
 
Hallo ukulele,

danke für deine Antwort!

Ich habe es probiert, leider geht es nicht. Ich operiere innerhalb einer DB. Es geht nur darum, dass ich die Daten im neuen Format zur Verfügung stelle. Am Ende, wenn es funktioniert, müssen die Daten aus der Zieltabelle nochmal im .csv Format exportiert werden.

Naja, dann muss ich es wohl über VBA, bzw. mit einer Zwischentabelle, "like"



Ursprung Ziel
1 D
2 E

lösen...

Trotzdem danke für die Hilfe!

VG
 
Werbung:
Eventuell auch:
Code:
INSERT INTO ZIELTABELLE (ID, DESCRIPTION, PREIS)
SELECT SERVICE_ID AS ID, (CASE WHEN QUELLE = '1' THEN 'D' WHEN QUELLE = '2' THEN 'E' END) AS [DESCRIPTION], RATE AS PREIS
FROM URSPRUNGSTABELLE
 
Zurück
Oben