zoukankan      html  css  js  c++  java
  • SQL 递归查询

    WITH B (FATHER,SON,ID,ALLINFO) AS 
        (SELECT  RTRIM(LTRIM(CHAR(A.ID)))|| CHAR(ROW_NUMBER() OVER(PARTITION BY ID)) AS FATHER, 
                RTRIM(LTRIM(CHAR(A.ID)))|| CHAR(ROW_NUMBER() OVER(PARTITION BY ID) + 1) AS SON, 
                A.ID, CAST(A.INFO AS VARCHAR(100)) 
        FROM T_DETAIL A 
        UNION ALL 
        SELECT C.FATHER,C.SON,C.ID, 
        RTRIM(LTRIM(B.ALLINFO))||','||RTRIM(LTRIM(CHAR(C.INFO))) 
        FROM (SELECT  
        RTRIM(LTRIM(CHAR(A.ID)))|| CHAR(ROW_NUMBER() OVER(PARTITION BY ID)) AS FATHER, 
        RTRIM(LTRIM(CHAR(A.ID)))|| CHAR(ROW_NUMBER() OVER(PARTITION BY ID) + 1) AS SON, 
            A.ID, A.INFO FROM T_DETAIL A) AS C, B 
        WHERE B.SON= C.FATHER) 
    SELECT  E.ID,E.NAME,E.AGE,D.ALLINFO 
    FROM (SELECT ROW_NUMBER() OVER(PARTITION BY ID ORDER BY LENGTH(ALLINFO) DESC) AS ROW_NUM, B.ID,B.ALLINFO FROM B) AS D,T_BASE E 
    WHERE D.ROW_NUM = 1 AND D.ID=E.ID;
  • 相关阅读:
    Intent
    关注博客
    Bitmap
    图片压缩
    读取相册、拍照
    Godot开发环境与学习资源
    源码开放的引擎研究
    海龟交易法操作商品期货
    重新开始
    使用node_redis进行redis数据库crud操作
  • 原文地址:https://www.cnblogs.com/ShaYeBlog/p/3482744.html
Copyright © 2011-2022 走看看