2016-06-01 16 views
-2

Oracle v11ではCASEの文が必要です。私の会社はTRAX Maintenanceをソフトウェアとして使用しており、「独自のレポートを作成する」のビルドはQuickPrintを使用しています。私は小さなCASEステートメント/機能をしようとしているが、エラーメッセージだけを得る。誰でも助けることができますか?以下は完全なコードです(非常に単純です)。結果は結果である1列を返します。私が手ケース・ステートメント/ファンクション

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 

エラーは次のとおりです。

ORA-00923:他に応じて、不足している表現

その他:

ORA-00936を期待どこキーワードは見つかりませんあなたができる方法CASE

答えて

1

caseend間のすべてのコンマ(,)を取り外し、彼らはそこではありません。

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

私は「CASE」&「終了」から「(、)」を取り出し、まだ同じを取得エラーメッセージ – EMassey

+0

私の答えを試しましたか?またはカンマを手動で削除しようとしましたか?削除するものが複数あるためです。私は4を削除しなければなりませんでした。 – sstan

+0

IT WORKED !!!もともと私はちょうどCASEの後のものとENDの前のものをやった。私は残りの部分を削除した後、それは素晴らしい仕事!感謝してくれてありがとうございます – EMassey