zoukankan      html  css  js  c++  java
  • SQL 递归使用

    直接贴代码吧= =

    WITH CTE AS  
      (  
      -->Begin 一个定位点成员  
       SELECT COUNTRYORDERID,HSNAME, COUNTRYNAME,PARENTORDERID,
       IMPORTCURRENTSUMAMOUNT,
       IMPORTCONTRASTSUMAMOUNTPERCENTAGE,
       IMPORTCURRENTSUMAMOUNTPERCENTAGE,
       CAST(COUNTRYNAME AS NVARCHAR(max)) AS TE,0 AS Levle FROM #TempTableDetail
        WHERE PARENTORDERID IS NULL AND HSNAME IN (SELECT HSNAME FROM #TempTableData)
      -->End  
      UNION ALL  
      -->Begin一个递归成员  
       SELECT #TempTableDetail.COUNTRYORDERID, #TempTableDetail.HSNAME, #TempTableDetail.COUNTRYNAME,#TempTableDetail.PARENTORDERID,
       #TempTableDetail.IMPORTCURRENTSUMAMOUNT,
       #TempTableDetail.IMPORTCONTRASTSUMAMOUNTPERCENTAGE,
       #TempTableDetail.IMPORTCURRENTSUMAMOUNTPERCENTAGE,
       CAST(REPLICATE('  ',LEN(CTE.TE))+#TempTableDetail.COUNTRYNAME AS NVARCHAR(MAX)) AS TE,Levle+1 AS Levle  
        FROM #TempTableDetail INNER JOIN CTE  
        ON #TempTableDetail.PARENTORDERID=CTE.COUNTRYORDERID  
        --group by #TempTableDetail.HSNAME
        WHERE #TempTableDetail.HSNAME IN (SELECT HSNAME FROM #TempTableData)
      -->End  
      )
    
      INSERT INTO #TempResult(COUNTRYORDERID,HSNAME,COUNTRYNAME,IMPORTCONTRASTSUMAMOUNTPERCENTAGE,IMPORTCURRENTSUMAMOUNTPERCENTAGE,IMPORTCURRENTSUMAMOUNT)
      SELECT DISTINCT COUNTRYORDERID, HSNAME,TE,IMPORTCONTRASTSUMAMOUNTPERCENTAGE,
       IMPORTCURRENTSUMAMOUNTPERCENTAGE,IMPORTCURRENTSUMAMOUNT FROM CTE ORDER BY HSNAME,COUNTRYORDERID;

    效果:


  • 相关阅读:
    [转]IDEA 新建 JSP 项目时
    [转] AForge.NET 图像处理类
    [转] 端口被占用的处理
    [极客大挑战 2019]PHP
    今天鸽了
    [ZJCTF 2019]NiZhuanSiWei
    [极客大挑战 2019]Secret File
    [SUCTF 2019]Pythonginx
    [CISCN2019 华北赛区 Day1 Web2]ikun
    [极客大挑战 2019]EasySQL
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/7086973.html
Copyright © 2011-2022 走看看