ORACLE——初用递归


SELECT ROWNUM,bmbaent,bmbasite, connect_by_root(bmaa001) root, bmba002,bmaa001,bmba003, LEVEL level1, sys_connect_by_path(LEVEL,'∠') level2 FROM bmaa_t INNER JOIN bmba_t ON bmbaent=bmaaent AND bmbasite=bmaasite AND bmba001=bmaa001 AND bmba002=bmaa002 START WITH bmaaent=90 AND bmaasite='D' AND bmaa001='3102010165' AND bmaa002=9 AND bmaastus='Y' CONNECT BY bmaa001 = PRIOR bmba003 AND bmba006 IS NULL AND bmbaent=90 AND bmbasite='D' AND bmba002=9 ORDER BY ROWNUM
SELECT ROWNUM,bmbaent,bmbasite,
      connect_by_root(bmaa001) root,
      bmba002,bmaa001,bmba003,
      LEVEL level1,
      sys_connect_by_path(LEVEL,'∠') level2
FROM bmaa_t 
INNER JOIN bmba_t ON bmbaent=bmaaent AND bmbasite=bmaasite AND bmba001=bmaa001 AND bmba002=bmaa002
START WITH bmaaent=90 AND bmaasite='D' AND bmaa001='3102010165' AND bmaa002=9 AND bmaastus='Y' 
CONNECT BY bmaa001 = PRIOR bmba003 
AND (bmba006 IS NULL OR to_number(to_char(bmba006,'yymmddhh24miss')) >= to_number(to_char(SYSDATE,'yymmddhh24miss')) ) 
AND bmbaent=90 AND bmbasite='D' AND bmba002=9 
ORDER BY ROWNUM
学习参考资料:
https://www.cnblogs.com/benbenduo/p/4588612.html
https://www.cnblogs.com/supermandy/p/7873233.html
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号