order by中用子查询排序

今天有个需求是对一个列表排序,但是排序字段是在另一个表中,不想用关联查询,就想能否直接在order by中用子查询,后来找到一个还挺好使。记录如下。

排序语句如下:

select *
  from mainpage_report_sum s
 where s.year_month = '2019-02'
   and s.orgid in (select *
                     from (select id
                             from SYS_ORGANIZATION_REPORT o
                            order by o.org_order1 asc));

个人感觉像是先排好序,然后放在in的子查询中,然后就可以按照in中的顺序排序了。但是是否如此还有待考证。也没发现in有这个功能的。

在in的()中如果不套一层select * from会报错  ORA-0007缺失右括号。尚不清楚是因为什么。

原文地址:https://www.cnblogs.com/anningkang/p/10655876.html