Предположим, что этот запрос работает нормально:
SELECT
first_name,
consultant_id,
CASE consultant_id
WHEN 1 THEN 'First Consultant'
WHEN 2 THEN 'Second Consultant'
END
FROM consultant
ORDER BY first_name;
Почему я не могу добавить еще одно предложение WHEN, используя некоторую логическую логику, отличную от подразумеваемой, равной двум в приведенных выше предложениях WHEN?Например:
SELECT
first_name,
consultant_id,
CASE consultant_id
WHEN 1 THEN 'First Consultant'
WHEN 2 THEN 'Second Consultant'
WHEN BETWEEN 3 AND 12 THEN 'Everyone else'
END
FROM consultant
ORDER BY first_name;
Который выдает эту ошибку:
ORA-00936: missing expression
00936. 00000 - "missing expression"
*Cause:
*Action:
Error at Line: 7 Column: 10
Есть ли способ сделать эту работу без использования более подробного:
SELECT
first_name,
consultant_id,
CASE
WHEN consultant_id = 1 THEN 'First Consultant'
WHEN consultant_id = 2 THEN 'Second Consultant'
WHEN consultant_id BETWEEN 3 AND 12 THEN 'Everyone else'
END
FROM consultant
ORDER BY first_name;