vipstone
--------------所有子集数据包括自己---------------------
CREATE PROCEDURE ALLSON
@ID INT
AS
BEGIN
    WITH CTE AS
    (
        SELECT ID,PID,NAME,0 AS LVL FROM TEST1
        WHERE ID = @ID
        UNION ALL
        SELECT D.ID,D.PID,D.NAME,LVL+1 FROM CTE C INNER JOIN TEST1 D
        ON C.ID = D.PID
    )
    SELECT * FROM CTE
END


------------------所有父级数据-------------------
CREATE PROCEDURE ALLFATHER
@ID INT
AS
BEGIN
    WITH CTE AS
    (
        SELECT ID,PID,NAME,0 AS LVL FROM TEST1
        WHERE ID = @ID
        UNION ALL
        SELECT D.ID,D.PID,D.NAME,LVL+1 FROM CTE C INNER JOIN TEST1 D
        ON C.PID = D.ID
    )
    SELECT * FROM CTE
END


--FATHER
EXEC ALLFATHER 6

 

分类:

技术点:

相关文章:

  • 2021-10-08
  • 2021-12-29
  • 2021-11-23
  • 2021-06-05
  • 2021-07-14
  • 2021-10-16
  • 2021-12-19
猜你喜欢
  • 2021-12-26
  • 2021-10-08
  • 2018-12-23
  • 2021-07-18
  • 2022-01-14
  • 2021-06-14
  • 2021-10-08
相关资源
相似解决方案