2017-03-25 9 views
0
SQL> SELECT CUSTOMER.CUSTOMERID, 
    2 BOOKING.EVALUATIONRATING, 
    3 EVENT.EVENTID 
    4 FROM CUSTOMER 
    5 INNER JOIN BOOKING 
    6 ON BOOKING.CUSTOMERID = CUSTOMER.CUSTOMERID 
    7 INNER JOIN EVENT 
    8 ON EVENT.EVENTID=BOOKING.EVENTID 
    9 CASE EVALUATIONRATING 
10 WHEN 0 THEN 'TERRIBLE' 
11 WHEN 1 THEN 'BAD' 
12 WHEN 2 THEN 'MEDIOCRE' 
13 WHEN 3 THEN 'FAIR' 
14 ELSE 'GOOD'; 
CASE EVALUATIONRATING 
* 
ERROR at line 9: 
ORA-00933: SQL command not properly ended 

結合を使用してcase文を追加しようとするとエラーが発生します。私はケース構造を使って数値をテキストに変換したい。sql case statement sqlコマンドが正しく終了しなかったエラー

+0

私はjoinコマンドでcase文を使用できない理由はわかりませんが、この場合はフィールド結果を取得しようとしているようです。その場合は、以下の@ SQLZimの答えに従ってください。そうでない場合は、あなたがしようとしていることの詳細を記述してください。 – SandPiper

答えて

2

caseは、endで終了し、クエリのselect部分にある必要があります。

SELECT CUSTOMER.CUSTOMERID, 
    BOOKING.EVALUATIONRATING, 
    EVENT.EVENTID, 
    CASE EVALUATIONRATING 
    WHEN 0 THEN 'TERRIBLE' 
    WHEN 1 THEN 'BAD' 
    WHEN 2 THEN 'MEDIOCRE' 
    WHEN 3 THEN 'FAIR' 
    ELSE 'GOOD' 
    END CASE_EVALUATIONRATING 
    FROM CUSTOMER 
    INNER JOIN BOOKING 
    ON BOOKING.CUSTOMERID = CUSTOMER.CUSTOMERID 
    INNER JOIN EVENT 
    ON EVENT.EVENTID=BOOKING.EVENTID; 
関連する問題