语句一:
        --取分段起始时间
        SELECT TJRQ
        INTO   START_DATE
        FROM   (SELECT TT1.TJRQ, ROWNUM ROWNO
                FROM   (
                        
                        SELECT T.TJRQ TJRQ
                        FROM   WORK_INFO_MAIN M, WORK_INFO_CHILD T, DJ_NSRXX D
                        WHERE  M.SERIAL_NO = T.SERIAL_NO
                               AND T.NSRSBH = D.NSRSBH
                               AND T.YXZT_DM = '3'
                               AND (T.LSSJ = 0 OR T.LSSJ IS NULL)
                               AND D.CGS_FLAG = 1
                               AND M.CZRY_DM = C_USER.USER_ID
                        ORDER  BY TJRQ
                        
                        ) TT1)
        WHERE  ROWNO = START_NUM;语句二:
        ---取分段结束时间
        SELECT TJRQ
        INTO   END_DATE
        FROM   (SELECT TT1.TJRQ, ROWNUM ROWNO
                FROM   (
                        
                        SELECT T.TJRQ TJRQ
                        FROM   WORK_INFO_MAIN M, WORK_INFO_CHILD T, DJ_NSRXX D
                        WHERE  M.SERIAL_NO = T.SERIAL_NO
                               AND T.NSRSBH = D.NSRSBH
                               AND T.YXZT_DM = '3'
                               AND (T.LSSJ = 0 OR T.LSSJ IS NULL)
                               AND D.CGS_FLAG = 1
                               AND M.CZRY_DM = C_USER.USER_ID
                        ORDER  BY TJRQ
                        
                        ) TT1)
        WHERE  ROWNO = END_NUM;

解决方案 »

  1.   

    SELECT TJRQ 
            INTO  START_DATE 
            FROM  (SELECT TT1.TJRQ, ROWNUM ROWNO 
                    FROM  ( 
                            
                            SELECT T.TJRQ TJRQ 
                            FROM  WORK_INFO_MAIN M, WORK_INFO_CHILD T, DJ_NSRXX D 
                            WHERE  M.SERIAL_NO = T.SERIAL_NO 
                                  AND T.NSRSBH = D.NSRSBH 
                                  AND T.YXZT_DM = '3' 
                                  AND (T.LSSJ = 0 OR T.LSSJ IS NULL) 
                                  AND D.CGS_FLAG = 1 
                                  AND M.CZRY_DM = C_USER.USER_ID 
                            ORDER  BY TJRQ 
                            
                            ) TT1) 
            WHERE  ROWNO = START_NUM or ROWNO = END_NUM
      

  2.   

            SELECT TJRQ
            INTO  START_DATE
            FROM  (SELECT TT1.TJRQ, ROWNUM ROWNO
                    FROM  (
                           
                            SELECT T.TJRQ TJRQ
                            FROM  WORK_INFO_MAIN M, WORK_INFO_CHILD T, DJ_NSRXX D
                            WHERE  M.SERIAL_NO = T.SERIAL_NO
                                  AND T.NSRSBH = D.NSRSBH
                                  AND T.YXZT_DM = '3'
                                  AND (T.LSSJ = 0 OR T.LSSJ IS NULL)
                                  AND D.CGS_FLAG = 1
                                  AND M.CZRY_DM = C_USER.USER_ID
                            ORDER  BY TJRQ
                           
                            ) TT1)
            WHERE  ROWNO = START_NUM; 
    UNION 
          SELECT TJRQ
            INTO  END_DATE
            FROM  (SELECT TT1.TJRQ, ROWNUM ROWNO
                    FROM  (
                           
                            SELECT T.TJRQ TJRQ
                            FROM  WORK_INFO_MAIN M, WORK_INFO_CHILD T, DJ_NSRXX D
                            WHERE  M.SERIAL_NO = T.SERIAL_NO
                                  AND T.NSRSBH = D.NSRSBH
                                  AND T.YXZT_DM = '3'
                                  AND (T.LSSJ = 0 OR T.LSSJ IS NULL)
                                  AND D.CGS_FLAG = 1
                                  AND M.CZRY_DM = C_USER.USER_ID
                            ORDER  BY TJRQ
                           
                            ) TT1)
            WHERE  ROWNO = END_NUM;
      

  3.   

    SELECT TJRQ
      INTO START_DATE
      FROM (SELECT TT1.TJRQ, ROWNUM ROWNO
              FROM (SELECT T.TJRQ TJRQ
                      FROM WORK_INFO_MAIN M, WORK_INFO_CHILD T, DJ_NSRXX D
                     WHERE M.SERIAL_NO = T.SERIAL_NO
                       AND T.NSRSBH = D.NSRSBH
                       AND T.YXZT_DM = '3'
                       AND (T.LSSJ = 0 OR T.LSSJ IS NULL)
                       AND D.CGS_FLAG = 1
                       AND M.CZRY_DM = C_USER.USER_ID
                     ORDER BY TJRQ
                    
                    ) TT1)
     WHERE ROWNO = START_NUM
    union all
    SELECT TJRQ
      INTO END_DATE
      FROM (SELECT TT1.TJRQ, ROWNUM ROWNO
              FROM (SELECT T.TJRQ TJRQ
                      FROM WORK_INFO_MAIN M, WORK_INFO_CHILD T, DJ_NSRXX D
                     WHERE M.SERIAL_NO = T.SERIAL_NO
                       AND T.NSRSBH = D.NSRSBH
                       AND T.YXZT_DM = '3'
                       AND (T.LSSJ = 0 OR T.LSSJ IS NULL)
                       AND D.CGS_FLAG = 1
                       AND M.CZRY_DM = C_USER.USER_ID
                     ORDER BY TJRQ
                    
                    ) TT1)
     WHERE ROWNO = END_NUM
      

  4.   

       SELECT STAR_TJRQ,  END_TJTQ   Into START_DATE,  END_DATE    
              From (SELECT TT1.TJRQ  STAR_TJRQ , TT1.TJRQ D_TJTQ ,ROWNUM        ROWNO1,Rownum  ROWNO2 FROM  (SELECT T.TJRQ TJRQ   FROM  WORK_INFO_MAIN M, WORK_INFO_CHILD T, DJ_NSRXX D  Where  M.SERIAL_NO = T.SERIAL_NO   AND T.NSRSBH = D.NSRSBH   AND T.YXZT_DM = '3'   AND (T.LSSJ = 0 OR T.LSSJ IS NULL)   AND D.CGS_FLAG = 1     AND M.CZRY_DM = C_USER.USER_ID  ORDER  BY TJRQ ) TT1) 
            WHERE  ROWNO2=START_NUM Or ROWNO1 = END_NUM ;
      

  5.   

    ... SELECT T.TJRQ TJRQ ... ORDER  BY TJRQ 
    最大最小值而已,这么麻烦?