本帖最后由 Mr_Edwin 于 2013-03-13 15:39:33 编辑

解决方案 »

  1.   

    还是用distinct吧。
    否则你得用group by去重,代价一样不小
      

  2.   

    效率太低 速度很慢 用group by同样慢,有其它方法优化吗
      

  3.   

    这已经没什么可优化的了,很简单的SQL
      

  4.   

    group by 索引字段,这条SQL太简单了,没有性能提升的余地
      

  5.   

    --你Name来自Table2或Table3的话,可以如下优化
    Select  a.NO, (select B.Name from Table2 B where a.No = b.No)  as Name  where  From Table1 A
    --你不必要多查询一个表
      

  6.   

    --你Name来自Table2或Table3的话,可以如下优化
    Select  a.NO, (select B.Name from Table2 B where a.No = b.No rownum <=1)  as Name    From Table1 A
    --你不必要多查询一个表
      

  7.   

    --你Name来自Table2或Table3的话,可以如下优化
    Select  a.NO, (select B.Name from Table2 B where a.No = b.No and rownum <=1)  as Name    From Table1 A
    --你不必要多查询一个表
      

  8.   

    一 table1是关联的表,放在from 字句的后面,
    二 我认为你的语句不能执行成功,‘No’是选取哪个表中的字段呀?