sql case语句sql命令未正确结束错误

sql case语句sql命令未正确结束错误,sql,oracle,Sql,Oracle,尝试使用联接添加case语句时出错。我想使用case结构将数字转换为文本 您的案例应以结束结尾,并位于查询的选择部分 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 JO

尝试使用联接添加case语句时出错。我想使用case结构将数字转换为文本

您的
案例
应以
结束
结尾,并位于查询的
选择部分

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

我不知道为什么不能在join命令中使用case语句,但是在本例中,看起来您正在尝试获取字段结果。如果是这种情况,请遵循下面@SQLZim的答案。如果没有,请描述更多您正在尝试做的事情。
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;