我正在运行SQL查询并尝试将结果分解为块。
select task_id, owner_cnum
from (select row_number() over(order by owner_cnum, task_id)
as this_row, wdpt.vtasks.*
from wdpt.vtasks)
where this_row between 1 and 5;
SQL在Windows和Linux上与DB2 10.5一起使用,但在z / OS上的DB2 10.1上失败,并显示以下错误消息:
当我从连接到数据库的Windows机器上运行的IBM DataStudio 4.1.1运行SQL时,我得到了:
ILLEGAL SYMBOL "<EMPTY>". SOME SYMBOLS THAT MIGHT BE LEGAL ARE: CORRELATION NAME. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.18.60
当我在连接数据库的zLinux系统上运行我的Java程序时,出现以下错误:
DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=<EMPTY>;CORRELATION NAME, DRIVER=3.65.97
任何想法我做错了什么?
答案 0 :(得分:3)
在某些DB2版本中,您必须使用相关名称进行子选择,如错误消息所示:
select FOO from (
select FOO from BAR
) as T
这里&#34; T&#34;是相关名称。