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