У меня есть отрывок из представленного ниже представления, в котором есть оператор case, который ищет определенные значения в других таблицах и присваивает им значение в представлении. Я получаю сообщение об ошибке:
[Error] Execution (114: 12): ORA-24344: success with compilation error
ORA-43916: unable to determine collation for the column
ORA-00904: "V"."VPAA_FACULTY_DEGREE_CODE": invalid identifier
Вот мой код ниже (остальная часть оператора case работала нормально, пока я не добавил первый появляющийся оператор case, поэтому я не включил его). Любая помощь приветствуется, спасибо.
CAST(
CASE
WHEN (I.EMPLOYEE_DEPARTMENT_HOME_ORG = '555'
OR I.EMPLOYEE_DEPARTMENT_HOME_ORG = '556')
AND (V.FACULTY_DEGREE_CODE = 'MA'
OR V.FACULTY_DEGREE_CODE = 'MS')
THEN
(SELECT CASE
WHEN C.DEGREE_STATUS =
'Terminal'
THEN
'Yes'
WHEN C.DEGREE_STATUS =
'Not terminal'
THEN
'No'
ELSE
'NEEDS REVIEW'
END
FROM V_FACULTY_DEGREES V
INNER JOIN C_INSTRUCTORS C
ON V.FACULTY_DEGREE_CODE =
C.FACULTY_DEGREE_CODE
INNER JOIN CLIC_INSTRUCTORS C
ON C.VPAA_FACULTY_SUBJECT_CODE =
V.VPAA_FACULTY_SUBJECT_CODE
INNER JOIN I_REPORT_DETAILS I
ON V.ID = I.ID
WHERE V.PERSON_SKEY = SRC.PERSON_SKEY
FETCH FIRST ROW ONLY)
WHEN EXISTS
--(other code)
THEN
(SELECT CASE
--other ocde
END
FROM --other code
FETCH FIRST ROW ONLY)
ELSE
( SELECT CASE
--other code
END
FROM --other code
FETCH FIRST ROW ONLY)
END
AS VARCHAR2 (50))
TERMINAL_DEG,