Я хочу использовать множественные операторы case в выражении order by clause в выражении partition by У меня много столбцов, поэтому я публикую только требуемый.
У меня есть таблица клиентов, у которой есть:
Select
name,
ROW_NUMBER() OVER(PARTITON BY lastname, rollno
ORDER BY
CASE
WHEN
NVL(gender, address) IS NULL
then
a.effdate desc
else
CASE
WHEN
NVL(a.postoffc, a.mon) <= file.effdate
then
file.effdate
else
a.postoffc
END
desc, NVL(l4.covcode, a.pass)
end
)
rn
from
customers a;
Если я удалю эти операторы case, то мое объединение с другими таблицами и запрос работает нормально. Итак, нет проблем в операторе соединения или любом другом логе c. Проблема, которую я получаю, заключается в том, что я использовал несколько операторов case. Я думаю, что мой синтаксис ошибочный. Пожалуйста, скажите мне, как можно решить эту ошибку. Мне нужно, чтобы в этом случае заявление оператора logi c было обязательным.