无法在Oracle SQL中执行联合
我想对查询进行并集,但得到错误无法在Oracle SQL中执行联合,sql,oracle,oracle11g,sql-limit,Sql,Oracle,Oracle11g,Sql Limit,我想对查询进行并集,但得到错误 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.STA
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命令未正确结束
93300000-SQL命令未正确结束
*原因:
*行动:
第15行第1列出错FETCH子句仅在Oracle 12c中可用。在Oracle 11g中,您可以使用行号:
FETCH子句仅在Oracle 12c中可用。在Oracle 11g中,您可以使用行号:
您的查询中的联合在哪里?您的请求标题和介绍短语令人困惑,因为您的问题显然与联合无关。您应该更改此选项。查询中的联合在哪里?您的请求标题和介绍短语令人困惑,因为您的问题显然与联合无关。你应该改变这个。
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;