zoukankan      html  css  js  c++  java
  • 用SQL描述树

    /*40条(1层)
    SELECT COUNT(*) FROM t01_mwfl WHERE AZFSDM=01 AND LEVEL=1 START WITH PID=0 CONNECT BY  PRIOR ID=PID
    */
    SELECT * FROM t01_mwfl WHERE AZFSDM=01 AND LEVEL=1 START WITH PID=0 CONNECT BY  PRIOR ID=PID 
    
    SELECT LEVEL FROM t01_mwfl WHERE AZFSDM=01 AND LEVEL=1   START WITH PID=0 CONNECT BY  PRIOR ID=PID 
    
    /* 210条(2层)
    SELECT COUNT(*) FROM t01_mwfl WHERE LEVEL =2 AND AZFSDM=01  START WITH PID=0 CONNECT BY  PRIOR ID=PID
    */
    SELECT * FROM t01_mwfl WHERE LEVEL =2 AND AZFSDM=01  START WITH PID=0 CONNECT BY  PRIOR ID=PID 
    
    SELECT LEVEL FROM t01_mwfl WHERE LEVEL =2 AND AZFSDM=01  START WITH PID=0 CONNECT BY  PRIOR ID=PID 
    
    /*395条(3层)
    SELECT COUNT(*) FROM t01_mwfl WHERE LEVEL=3 AND AZFSDM=01  START WITH PID=0 CONNECT BY  PRIOR ID=PID 
    */
    SELECT * FROM t01_mwfl WHERE LEVEL=3 AND AZFSDM=01  START WITH PID=0 CONNECT BY  PRIOR ID=PID 
    
    SELECT LEVEL FROM t01_mwfl WHERE LEVEL=3 AND AZFSDM=01  START WITH PID=0 CONNECT BY  PRIOR ID=PID 


    select * from WQGM_2V.t01_mwfl where  azfsdm='01' and pid=0 and id  in 
    (
    --通过字符串处理
    select substr(substr(path,2),1,instr(substr(path,2),'/')-1) pid  from (
    --取大于某层的树路径
    SELECT sys_connect_by_path(id,'/') as path FROM WQGM_2V.t01_mwfl WHERE LEVEL>2 AND AZFSDM=01  START WITH PID=0 CONNECT BY  PRIOR ID=PID
    )
    )
    
    
    /*三层*/
    
     /**/
    SELECT ID,NAME,ROWNUM FROM WQGM_2V.t01_mwfl
    WHERE PID=0 
    AND AZFSDM='01' 
    AND ID IN
    (
       SELECT ID FROM WQGM_2V.t01_mwfl  MINUS 
    (
       SELECT ID FROM WQGM_2V.t01_mwfl  MINUS 
       SELECT PID FROM  WQGM_2V.t01_mwfl 
    )
    )
     ORDER BY ID
     /**/
     SELECT ID,NAME,ROWNUM,LEVEL FROM WQGM.t01_mwfl 
    WHERE PID=0 
    AND AZFSDM='01'
    AND ID IN
    (
       SELECT ID FROM WQGM.t01_mwfl  MINUS
    (
       SELECT ID FROM WQGM.t01_mwfl  MINUS 
       SELECT PID FROM  WQGM.t01_mwfl 
    )
    )
     START WITH PID=0 CONNECT BY PRIOR ID=PID 
     ORDER BY ID
    
    /*四层*/

    SELECT b.id,a.path,a.name FROM
    (
    SELECT id FROM WQGM.t01_mwfl MINUS
    (
    SELECT id FROM WQGM.t01_mwfl MINUS
    SELECT pid FROM WQGM.t01_mwfl
    )
    ) b
    ,
    (
    SELECT id,sys_connect_by_path(id,'/') as path,sys_connect_by_path(name,'/') as name,level as lv
    FROM WQGM.t01_mwfl WHERE azfsdm=01 START WITH pid=0 CONNECT BY PRIOR id=pid
    ) a
    WHERE a.id=b.id AND lv>1

     


  • 相关阅读:
    Codeforces 1485C Floor and Mod (枚举)
    CodeForces 1195D Submarine in the Rybinsk Sea (算贡献)
    CodeForces 1195C Basketball Exercise (线性DP)
    2021年初寒假训练第24场 B. 庆功会(搜索)
    任务分配(dp)
    开发工具的异常现象
    Telink MESH SDK 如何使用PWM
    Telink BLE MESH PWM波的小结
    [LeetCode] 1586. Binary Search Tree Iterator II
    [LeetCode] 1288. Remove Covered Intervals
  • 原文地址:https://www.cnblogs.com/siyunianhua/p/3449819.html
Copyright © 2011-2022 走看看