请教一下这样的SQL语句如何修改才能提高查询效率,做成子查询行不行,应该怎么改才好呢,谢谢!select * from 
( select p.pay_time,t.order_no,pp.patner_name,p.payment_no,c.name cn,d.name dn
from rt_et_sales_report t 
left join et_payment p on t.et_payment_id = p.id 
left join customer c on t.customer_id= c.id 
left join et_product d on (t.product_code = d.code and d.airline_code=t.airline_2code) 
left join et.et_paypartner pp on t.agt_payment_partner=pp.patner_code 
where t.airline_2code ='XX' and t.trans_type ='NORMAL' and t.booking_office_info ='018250' and t.booking_date >='2011-05-02' and t.booking_date <='2011-05-02' order by p.pay_time ) 
where rownum <= :1

解决方案 »

  1.   

    select p.pay_time,t.order_no,pp.patner_name,p.payment_no,c.name cn,d.name dn
    from rt_et_sales_report t 
    left join et_payment p on t.et_payment_id = p.id 
    left join customer c on t.customer_id= c.id 
    left join et_product d on (t.product_code = d.code and d.airline_code=t.airline_2code) 
    left join et.et_paypartner pp on t.agt_payment_partner=pp.patner_code 
    where t.airline_2code ='XX' and t.trans_type ='NORMAL' and t.booking_office_info ='018250' and t.booking_date >='2011-05-02' and t.booking_date <='2011-05-02' order by p.pay_time and rownum <= :1