select  (select tempdlt.depth
                         from (select dlt.depth,
                                from task_dtl dlt
                                where dlt.create_date >=
                                      to_date('2011' || '-01-01', 'yyyy-mm-dd')
                                  and dlt.create_date <
                                      to_date('2011-04-15', 'yyyy-mm-dd')
                                  and dlt.depth is not null
                                  and dlt.bs = '0'
                                  and dlt.item_id = dtb.item_id//是这里出错
                                order by dlt.depth desc) tempdlt
                        where rownum = 1
                        ----and tempdlt.item_id = dtb.item_id//不能在这里,数据很多,查询很慢
                         ) df
          from task_bill dtb
          and dtb.bs = '0'
请问下.我想获得task_dtl中depth最大的一条.应该怎么改.谢谢

解决方案 »

  1.   

    应该是嵌套查询不支持order by dlt.depth desc
    考虑别的写法吧
      

  2.   

    为什么不用MAX呢
    另外:select dlt.depth, 这里多了一个逗号 所以错了
      

  3.   

    谢谢提示.这个逗号是我删掉的....谢谢..MAX 很强大... 
    但是我想换个方法看看
      

  4.   


    还有.我试了,用max的话.好像数据量一大 就变得好慢慢了...
      

  5.   

    select dlt.depth,
                                    from task_dtl dlt
    dlt.depth,
    ,,,,,,,,,,,
      

  6.   

    谢谢,那个我写错了..dlt.depth,逗号去掉也有问题.