SQL-Statement Bei meinem Statement ist ein Fehler?

Paul279

Aktives Mitglied
Hallo Leute,
Ich habe eine SQL Datenbank und eine Tabelle 'Tanz', dort sind die Columns: titel, disziplin

Gut, nun zu meinem Code:
SQL:
select * 
from TANZ 
order by (case disziplin
when 'Open' then 1
when 'Klassik-Ballett' then 2
when 'Hip-Hop' then 3
when 'Jazz' then 4
when 'Acro Dance/Streetstyles' then 5
when 'B-Boying/Breakdance' then 6
when 'Musical' then 7
when 'Production Number' then 8
else 100 END) ASC

Er schreibt mir immer "Syntaxfehler: Encountered "disziplin" at line 3, column 16."

Wo ist bitte der Fehler?
 
Habe ein Case-Konstrukt in einer ORDER BY-Klausel noch nie gesehen (Glaube ANSI SQL ist das nicht). Deswegen habe ich mal gegoogelt. Da waren je nach DBMS verschiedene Syntaxe (mal mit @ mal mit Klammern, mal ohne) angegeben. Schreibe bitte mal, welches DBMS Du benutzt.
 
ja danke für den Hinweis, das wars.
Hab die Syntax für die falsche Datenbank gehabt

Hier die richtige:

SQL:
select * 
from ASDU.TANZ 
order by 
case when disziplin='Open' then 1
when disziplin='Hip-Hop' then 2
when disziplin='Contemporary (Modern)' then 3
when disziplin='Acro Dance/Streetstyles' then 4
when disziplin='B-Boying/Breakdance' then 5
when disziplin='Musical' then 6
when disziplin='Character/Ethnic Dance' then 7
when disziplin='Production Number' then 8
end
 

Neue Themen


Zurück
Oben