今天有個需求是對一個列表排序,但是排序字段是在另一個表中,不想用關聯查詢,就想能否直接在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缺失右括號。尚不清楚是因為什么。