exists子句里面order by 根本就没什么意义

解决方案 »

  1.   

    exitsts是只要子句中找到记录就返回True,楼主的句子的结果好像只有两种情况:返回全部记录和返回空。
      

  2.   

    你的结果集是b$common_n表中的内容怎么能按照trac.g3e_traceorder 排序呢
    你的想法就有错误
    再则exists为子查询他指返回true or false给where条件
      

  3.   

    请叫各位那如何把这SQL改正过来??
      

  4.   

    把 order by  trac.g3e_traceorder   desc  去掉
      

  5.   

    exists子句里面order by 根本就没什么意义
    把 order by  trac.g3e_traceorder   desc  去掉
      

  6.   

    select * from b$common_n t  where exists   
     (select trac.g3e_fid from traceresult  trac,b$common_n comm
        where comm.g3e_fid=trac.g3e_fid 
        and t.g3e_id=comm.owner1_id 
        and comm.owner1_id is not null   
        and trac.g3e_tno=4664 
     ) 
     order by  trac.g3e_traceorder   desc
      

  7.   

    这么样做是不对得,根本就不认识 trac.g3e_traceorder
      

  8.   

    select t.* 
    from b$common_n t,traceresult  trac,b$common_n comm 
    where comm.g3e_fid=trac.g3e_fid 
        and t.g3e_id=comm.owner1_id 
        and comm.owner1_id is not null   
        and trac.g3e_tno=4664 
      order by  trac.g3e_traceorder   desc