Access CASE WHEN in einer SELECT Abfrage
Stefan
- datenbank
Hallo zusammen
Ich habe folgende SQL Abfrage für MSSQL
SELECT (CASE WHEN len(feld1)>0 THEN feld1 ELSE feld2 END) as feld FROM tabelle
nun bräuchte ich den gleichen Befehl für eine SQL Abfrage in Access. Aber ich kriege es momentan nicht hin. Kann mir jemand einen Tipp geben?
Vielen Dank.
Hello,
Ich habe folgende SQL Abfrage für MSSQL
SELECT (CASE WHEN len(feld1)>0 THEN feld1 ELSE feld2 END) as feld FROM tabelle
VBA:
SELECT IIF(Len(feld1) > 0), feld1, feld2) AS Feld
MfG
Rouven
Danke für die Antwort.
Es funktioniert so aber ich möchte nun nach dem neuen Feld (feld) sortieren, doch es gibt einen Fehler.
Wie muss ich nach dem neuen Feld sortieren?
Hello,
Ich habe folgende SQL Abfrage für MSSQL
SELECT (CASE WHEN len(feld1)>0 THEN feld1 ELSE feld2 END) as feld FROM tabelle
VBA:
SELECT IIF(Len(feld1) > 0), feld1, feld2) AS FeldMfG
Rouven
Hello,
Jup, das Problem kenne ich. Access versteht die Alias-Vergabe nicht, d.h. es ist nicht möglich darauf eine Sortierung (und ich glaube auch keine WHERE-Kriterien) anzuwenden.
Mir bekannter Ausweg ist die Adressierung mittels des Spaltenindex, also z.B. ORDER BY 1
MfG
Rouven
mit ORDER BY 1 hat's geklappt. Vielen dank
Hello,
Jup, das Problem kenne ich. Access versteht die Alias-Vergabe nicht, d.h. es ist nicht möglich darauf eine Sortierung (und ich glaube auch keine WHERE-Kriterien) anzuwenden.
Mir bekannter Ausweg ist die Adressierung mittels des Spaltenindex, also z.B. ORDER BY 1MfG
Rouven