sql 语句是这样的
SELECT  ***   FROM  AA   where AA.b(+) <= :a   and AA.c(+) >= :b;
请问AA.b(+) <= :a   and AA.c(+) >= :b的意思是什么? 在线等

解决方案 »

  1.   

    就这个语句,(+)是多余的,实际上就等于AA.b <= :a  and AA.c >= :b。当多表关联时,a.FIELDNAME (+) = b. FIELDNAME就等效与a right join b on a.FIELDNAME = b. FIELDNAME
      

  2.   

    1、这里涉及到Oracle两表关联的问题
    2、这里应该是表的自我关联
    3、可能涉及到左外联等情况,具体情况,哥们,自己上网查查吧
      

  3.   

    完整是这样的
     INSERT /*+ APPEND */ INTO W預り資産月報扱者別
            (SELECT   副問.部店コード,                                         /* 部店コード       */
                     M扱区分.扱者区分漢字,                                    /* 扱者区分名称     */
                     M扱者.扱者漢字,                                         /* 扱者氏名         */
                     DECODE(NVL(M部店.統括コード,' '),'020','1',
                           DECODE(NVL(M法人.課コード,' '),' ','0','1')),     /* リテール法人区分 */
                     副問.帳票種別,                                           /* 帳票種別         */
                     副問.帳票詳細種別,                                       /* 帳票詳細種別     */
                     副問.帳票項目種別,                                       /* 帳票項目種別     */
                     DECODE(NVL(M部店.統括コード,' '),'040','1','0'),        /* 仲介部店区分     */
                     副問.集約元部店コード,                                   /* 集約元部店コード */
                     副問.残高                                                /* 残高             */
             FROM    (SELECT  NVL(M部店.集約先部店コード,W集計.部店コード)  AS 部店コード,
                              W集計.扱者コード                               AS 扱者コード,
                        FROM    W集計残高月報扱者別     W集計,
                              MST_部店前月             M部店
                      WHERE   W集計.帳票種別    =  '03'                      /* 預り資産 */
                      AND     W集計.部店コード  =  M部店.部店コード(+)
                     )                 副問,
                     MST_部店前月      M部店,
                     MST_扱者前月      M扱者,
                     MST_扱者区分前月  M扱区分,
                     MST_法人課登録用  M法人
             WHERE   副問.部店コード              =   M部店.部店コード(+)
             AND     副問.部店コード              =   M扱者.部店コード(+)
             AND     副問.扱者コード              =   M扱者.扱者コード(+)
             AND     M扱者.扱者区分              =   M扱区分.扱者区分(+)
             AND     NVL(M扱者.課コード,'ZZZZ')  =   M法人.課コード(+)
             AND     M法人.有効日FROM(+)     <=  :V2_当月末営業日
             AND     M法人.有効日TO(+)         >=  :V2_当月末営業日
            );
    我就是   AND     M法人.有効日FROM(+)     <=  :V2_当月末営業日
             AND     M法人.有効日TO(+)         >=  :V2_当月末営業日
    两句不太明白,应该是三楼说的那样吧。