外部查询中的Oracle rownum给出错误结果

外部查询中的Oracle rownum给出错误结果,oracle,left-join,rownum,Oracle,Left Join,Rownum,我有一个很长的sql查询,它使用rownum,但给出了错误的值。以下是我的疑问: Select * FROM ( SELECT * FROM R this_ LEFT OUTER JOIN TS ON this_.T1 = TS.T1 LEFT OUTER JOIN T ON TS.T2 = T.T2 LEFT OUTER JOIN TS system4_ O

我有一个很长的sql查询,它使用rownum,但给出了错误的值。以下是我的疑问:

Select *
FROM (  SELECT *
    FROM R this_
         LEFT OUTER JOIN TS
            ON this_.T1 = TS.T1
         LEFT OUTER JOIN T 
            ON TS.T2 = T.T2
         LEFT OUTER JOIN TS system4_
            ON T.SRC = system4_.system_id
         LEFT OUTER JOIN TS system6_
            ON T.TGT = system6_.system_id
         LEFT OUTER JOIN TS system7_
            ON touchpoint3_.INIT = system7_.system_id
         LEFT OUTER JOIN ST 
            ON TS_.SC = ST.SC
         LEFT OUTER JOIN RS 
            ON this_.status_id = RS.status_id
         LEFT OUTER JOIN client client5_                                             ONsystem4_.CLIENT_ID=client5_.CLIENT_ID                                  
   WHERE this_.status_id = 5
ORDER BY this_.ID --This is a column on R table
)WHERE ROWNUM <= 10
但是如果我像这样将rownum放入子查询中,我会得到正确的输出

WHERE this_.status_id = 5 and rownum<=10

有人能告诉我为什么我的查询得到错误的输出吗?

在内部查询中,对ROWNUM的测试它们都是有效的查询-正确/错误的输出是什么意思?您根本没有显示任何输出。您需要将行号添加到列组/密集列组。