sql - 无法在 Oracle SQL 中执行 UNION
问题描述
我想做一个查询的联合,但出现错误。
SELECT
NB.NETBANKID,
NB.BANKNAME,
NBMAP.SORTORDER,
NB.BANKCODE
FROM VTSMNETBNK NB
INNER JOIN CGCMN.VTMESTRNETBNKMAP NBMAP
ON NBMAP.NETBANKID =NB.NETBANKID
WHERE NBMAP.STOREID=133 AND
NBMAP.EFFDATE <= SYSDATE
AND NBMAP.STATUS ='A'
AND NB.STATUS = 'A'
ORDER BY NBMAP.SORTORDER
FETCH NEXT 6 ROWS ONLY
ORA-00933:SQL 命令未正确结束 00933. 00000 - “SQL 命令未正确结束” *原因:
*操作:错误在行:15 列:1
解决方案
该FETCH
子句仅在 Oracle 12c 中可用。在 Oracle 11g 中,您可以ROW_NUMBER
改为使用:
select netbankid, bankname, sortorder, bankcode
from
(
select
nb.netbankid,
nb.bankname,
nbmap.sortorder,
nb.bankcode,
row_number() over (order by nbmap.sortorder) as rn
from vtsmnetbnk nb
inner join cgcmn.vtmestrnetbnkmap nbmap on nbmap.netbankid = nb.netbankid
where nbmap.storeid = 133
and nbmap.effdate <= sysdate
and nbmap.status = 'A'
and nb.status = 'A'
)
where rn <= 6
order by rn;
推荐阅读
- python - Azure VM:如何将启动/停止/重新启动事件发送到 Webapp
- angularjs - AngularJS更新通过控制器通过函数引用的DOM中的var
- c# - 运行 azure API 应用程序时无法加载文件或程序集
- maven - 无法检索 com.google.appengine:appengine-maven-plugin:1.9.53 的插件描述符
- bash - vim 打开目录而不是文件
- ios - 如何将现有日期添加到 UIDatePicker
- javascript - 如何在我的反应 js 网站上创建发送电子邮件表单到特定地址
- selenium-webdriver - 机器人框架点击按钮与提交表单
- jquery - jQuery AJAX 调用删除空数组
- python - Pandas:分组加权平均,如何控制输出列的名称?