2016-06-01 7 views
-2

Ich brauche Hilfe mit einer CASE Anweisung in Oracle v11. Meine Firma verwendet TRAX Maintenance als Software und der Build "Build your own report" verwendet QuickPrint. Ich versuche, eine kleine CASE Anweisung/Funktion zu tun, aber nichts als Fehlermeldungen erhalten. Kann jemand helfen? Unten ist der vollständige Code (sehr einfach) und die Ergebnisse werden 1 Spalte zurückgeben, was die Ergebnisse sind.CASE STATEMENT/FUNKTION

SELECT "ENGINEERING_ORDER"."EO" AS "EO", 
     "ENGINEERING_ORDER"."EO_DESCRIPTION" AS "EO_DESCRIPTION", 
     CASE, 
     WHEN "ENGINEERING_ORDER"."SCHEDULE_HOURS"=0 
    AND "ENGINEERING_ORDER"."SCHEDULE_CYCLES"=0 THEN "ENGINEERING_ORDER"."SCHEDULE_DAYS", 
     WHEN "ENGINEERING_ORDER"."SCHEDULE_HOURS"=0 
    AND "ENGINEERING_ORDER"."SCHEDULE_DAYS"=0 THEN "ENGINEERING_ORDER"."SCHEDULE_CYCLES", 
     ELSE "ENGINEERING_ORDER"."SCHEDULE_HOURS", 
     END 
    FROM ENGINEERING_ORDER 

Fehler ich erhalte, ist:

ORA-00923: FROM-Schlüsselwort nicht gefunden, wo

erwartet

ORA-00936: Fehlende Ausdruck

und andere auf der anderen abhängig Möglichkeiten, wie Sie tun können CASE.

Antwort

1

Entfernen Sie alle Kommas (,) zwischen case und end, sollten sie nicht da sein:

SELECT "ENGINEERING_ORDER"."EO" AS "EO", 
     "ENGINEERING_ORDER"."EO_DESCRIPTION" AS "EO_DESCRIPTION", 
     CASE 
     WHEN "ENGINEERING_ORDER"."SCHEDULE_HOURS"=0 
      AND "ENGINEERING_ORDER"."SCHEDULE_CYCLES"=0 
     THEN "ENGINEERING_ORDER"."SCHEDULE_DAYS" 
     WHEN "ENGINEERING_ORDER"."SCHEDULE_HOURS"=0 
      AND "ENGINEERING_ORDER"."SCHEDULE_DAYS"=0 
     THEN "ENGINEERING_ORDER"."SCHEDULE_CYCLES" 
     ELSE "ENGINEERING_ORDER"."SCHEDULE_HOURS" 
     END 
    FROM ENGINEERING_ORDER 
+0

entfernte ich die '(,)' von 'CASE' & 'End' und immer noch die gleichen Fehlermeldung – EMassey

+0

Haben Sie meine Antwort versucht, oder haben Sie versucht, die Kommas manuell zu entfernen? Weil es mehrere zu entfernen gibt. Ich musste 4 entfernen. Versuchen Sie einfach, meine Antwort direkt auszuführen. – sstan

+0

ES GEARBEITET !!! Ursprünglich habe ich nur den nach CASE und den vor END gemacht. Nachdem ich den Rest entfernt hatte, funktionierte es super! DANKE DANKE DANKE – EMassey