select  地市名称, 堤名,起始桩号,终止桩号,日期,超设防水位堤段长度,超警戒水位堤段长度,超保证水位堤段长度,备注  from  ( select  报表编号,堤名,起始桩号,终止桩号,日期,超设防水位堤段长度,超警戒水位堤段长度,超保证水位堤段长度,备注 from TBRT1404_DFBF) XG left join (select 报表编号,地市名称,填报单位名称  from TBRT0001_BTXX left join TBRT0003_DISTRICT on TBRT0001_BTXX.行政区划代码=TBRT0003_DISTRICT.县区代码 where TBRT0001_BTXX.审核标识='110' 6 )  XZ  on  XG.报表编号=XZ.报表编号)and 日期 between to_date('2001-06-01','yyyy-MM-dd') and to_date('2009-06-12','yyyy-MM-dd')  order by 地市名称, 堤名

解决方案 »

  1.   

    在pl/sql developer中检查,也提示缺失右括号,但在pl/sql developer中选中左括号 ,检查右括号并没有缺失
      

  2.   

    select  地市名称, 堤名,起始桩号,终止桩号,日期,超设防水位堤段长度,超警戒水位堤段长度,超保证水位堤段长度,备注  from  
       ( select  报表编号,堤名,起始桩号,终止桩号,日期,超设防水位堤段长度,超警戒水位堤段长度,超保证水位堤段长度,备注 
            from TBRT1404_DFBF) XG 
         left join 
       (select 报表编号,地市名称,填报单位名称  
                from TBRT0001_BTXX 
               left join 
               TBRT0003_DISTRICT 
               on TBRT0001_BTXX.行政区划代码=TBRT0003_DISTRICT.县区代码 where TBRT0001_BTXX.审核标识='110' 6 )  XZ  
         on  XG.报表编号=XZ.报表编号)and 日期 between to_date('2001-06-01','yyyy-MM-dd') and to_date('2009-06-12','yyyy-MM-dd')  order by 地市名称, 堤名
    说真的,你有发贴等别人回答这点时间,早就可以自己排版看得清清楚楚到底是哪有问题
      

  3.   

    select  地市名称, 堤名,起始桩号,终止桩号,日期,超设防水位堤段长度,超警戒水位堤段长度,超保证水位堤段长度,备注  from  
       ( select  报表编号,堤名,起始桩号,终止桩号,日期,超设防水位堤段长度,超警戒水位堤段长度,超保证水位堤段长度,备注 
            from TBRT1404_DFBF) XG 
         left join 
       (select 报表编号,地市名称,填报单位名称  
                from TBRT0001_BTXX 
               left join 
               TBRT0003_DISTRICT 
               on TBRT0001_BTXX.行政区划代码=TBRT0003_DISTRICT.县区代码 where TBRT0001_BTXX.审核标识='110' 6 )  XZ  
         on  XG.报表编号=XZ.报表编号)and 日期 between to_date('2001-06-01','yyyy-MM-dd') 
    and to_date('2009-06-12','yyyy-MM-dd')  
    order by 地市名称, 堤名
      

  4.   

    谢谢楼上。不过去掉蓝色的括号还是哦提示“缺失右括号”及去掉XZ.报表编号后面的括号select  地市名称, 堤名,起始桩号,终止桩号,日期,超设防水位堤段长度,超警戒水位堤段长度,超保证水位堤段长度,备注  from  
      ( select  报表编号,堤名,起始桩号,终止桩号,日期,超设防水位堤段长度,超警戒水位堤段长度,超保证水位堤段长度,备注 
            from TBRT1404_DFBF) XG 
        left join 
      (select 报表编号,地市名称,填报单位名称  
                from TBRT0001_BTXX 
              left join 
              TBRT0003_DISTRICT 
              on TBRT0001_BTXX.行政区划代码=TBRT0003_DISTRICT.县区代码 where TBRT0001_BTXX.审核标识='110' 6 )  XZ  
        on  XG.报表编号=XZ.报表编号
    and 日期 between to_date('2001-06-01','yyyy-MM-dd') 
    and to_date('2009-06-12','yyyy-MM-dd')  
    order by 地市名称, 堤名
      

  5.   

    自从我知道ORACLE里(+)代替左右连接后,就习惯用(+)来写,会使你SQL看得更清楚
    并且我习惯用TOAD来写,写完语句第一件事,是用格式化工具排版,排版过程过有问题的语句,光标会自动停住的
    这种提示缺少括号,或者‘,’之类的事
    没什么难度的,静下心来,仔细看就能看出来的
      

  6.   

    select 地市名称,
           堤名,
           起始桩号,
           终止桩号,
           日期,
           超设防水位堤段长度,
           超警戒水位堤段长度,
           超保证水位堤段长度,
           备注
      from (select 报表编号,
                   堤名,
                   起始桩号,
                   终止桩号,
                   日期,
                   超设防水位堤段长度,
                   超警戒水位堤段长度,
                   超保证水位堤段长度,
                   备注
              from TBRT1404_DFBF) XG
      left join (select 报表编号, 地市名称, 填报单位名称
                   from TBRT0001_BTXX
                   left join TBRT0003_DISTRICT on TBRT0001_BTXX.行政区划代码 =
                                                  TBRT0003_DISTRICT.县区代码
                  where TBRT0001_BTXX.审核标识 = '110') XZ on XG.报表编号 =
                                                                XZ.报表编号 and 日期 between to_date('2001-06-01', 'yyyy-MM-dd') and to_date('2009-06-12', 'yyyy-MM-dd')
     order by 地市名称, 堤名
      

  7.   

    1,把'110' 6后面的6去掉,这明显不是一个等值啊。2,把XG.报表编号=XZ.报表编号)后面的)去掉,因为on的 几个条件连接在一起不需要“)”。
      

  8.   


    select 地市名称, 堤名,起始桩号,终止桩号,日期,超设防水位堤段长度,超警戒水位堤段长度,超保证水位堤段长度,备注 
    from   
      ( select 报表编号,堤名,起始桩号,终止桩号,日期,超设防水位堤段长度,超警戒水位堤段长度,超保证水位堤段长度,备注  from TBRT1404_DFBF) XG  
      left join  
      (select 报表编号,地市名称,填报单位名称   
       from TBRT0001_BTXX  
       left join  
       TBRT0003_DISTRICT  
       on TBRT0001_BTXX.行政区划代码=TBRT0003_DISTRICT.县区代码 where TBRT0001_BTXX.审核标识='110'  ) XZ  
      on XG.报表编号=XZ.报表编号
    where 日期 between to_date('2001-06-01','yyyy-MM-dd')  
    and to_date('2009-06-12','yyyy-MM-dd')   
    order by 地市名称, 堤名;
      

  9.   

    是由于最外层的select没有where语句吧?应该是11L的解法吧?