我正在尝试像
这样的查询 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功能?
答案 0 :(得分:0)
我认为最简单的答案是在子查询中进行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允许它。