Функция OLAP на временной таблице?
Я пытаюсь запрос как
select (*)
from (select row_number() over (order by a.id desc)SNo,
a.id,
b.EmpName
from mySchema.table1 a
INNER JOIN mySchema.table2 b on a.EmpCode=b.EmpCode
where UPPER(b.EmpName) LIKE 'AB%') z
Это не работает, пока я использую 'UPPER' во временной таблице. Я должен использовать функцию UPPER OLAP, потому что имена Emp в моей таблице не похожи (некоторые из них 'ALice', некоторые 'boB').
редактировать
Возвращает SQL0255] Код причины:6 Функция OLAP не поддерживается.
Проблема в том, что я не могу использовать UPPER и row_number() вместе. Моя платформа - это DB2 ISeries V5R4. Могу ли я выполнить функцию UPPER?
1 ответ
Я думаю, что самым простым ответом было бы сделать выбор UPPER в подзапросе и получить номер строки в основном запросе - вот так:
select row_number() over (order by id desc)SNo,
z.*
from (select a.id,
b.EmpName
from mySchema.table1 a
INNER JOIN mySchema.table2 b on a.EmpCode=b.EmpCode
where UPPER(b.EmpName) LIKE 'AB%') z
- при условии, что DB2 разрешит это.