数据库报无效标识    后台报错  ORA-00904: "T"."BD_SID": 标识符无效

解决方案 »

  1.   

    select cciid sid,product_name,cciid,del_count,belong_area belongArea
        from (
     select A.*,ROWNUM numx  from(
        select max(product_name) product_name,max(cciid) cciid,sum(delivery_num) del_count,belong_area from(
     select cci.product_name,cci.sid cciid,ism.delivery_num,bd.ordered,
     (SELECT b.district_name FROM base_district b where b.district_level=? START WITH b.sid =bd.sid CONNECT BY PRIOR b.p_sid=b.sid) belong_area 
     from ios_stock_manage ism
          left join ci_chemicals_index cci on cci.sid = ism.cciid
          left join corp_base_info t on t.sid=ism.corp_id
          left join base_district bd on t.bd_sid=bd.sid
         where cci.sid = ? and bd.district_code like ? ) 
       group by belong_area,ordered order by ordered) A
     WHERE 1=1  and del_count <>0 ) 
     WHERE 1=1  
      

  2.   

     求sql高手 看一下啊 哪里出错了! 分开拆先查了中间部分 还是报无效标识错误!
      

  3.   

    是存储过程内的,函数?还是单独的?
    代码里面的“?” 是参数或者变量吗? 比如第11行:where cci.sid = ? and bd.district_code like ? )
      

  4.   

    代码内就出现了一次BD_SID,根据报错内容,你看下corp_base_info 表有没有BD_SID 字段;
      

  5.   

    左关联跟左关联的表是不能直接连的,左关联的表都只能和主表关联
    如果要把corp_base_info跟base_district关联起来的话先做成一个结果集,然后关联主表