zoukankan      html  css  js  c++  java
  • sql 根据关系表查找相应的父子类的数据

    Create Table A
    (ID Int,
     fatherID Int,
     Name Varchar(10)
    )
    Insert A Select 1,        NULL,       'tt'
    union   All Select 2,        1,          'aa'
    union   All Select 3,        1,          'bb'
    union   All Select 4,        2,          'cc'
    union   All Select 5,        2,          'gg'
    union   All Select 6,        4,          'yy'
    union   All Select 7,        4,          'jj'
    union   All Select 8,        7,           'll'
    union   All Select 9,        NULL,  'uu'
    union   All Select 10,       9,         'oo'
    GO
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    GO
    create Function [dbo].[GetParent](@ID Int)
    Returns @Tree Table (ID Int, fatherID Int, Name Varchar(10))
    As
    Begin
    Insert @Tree Select ID, fatherID, Name From A Where ID = @ID
    While @@Rowcount > 0
    Insert @Tree Select A.ID, A.fatherID, A.Name From A A Inner Join @Tree B On A.ID = B.fatherID And A.ID Not In (Select ID From @Tree)
    Return
    End

    --測試
    Select * From dbo.GetParent(4)


       本人博客的文章大部分来自网络转载,因为时间的关系,没有写明转载出处和作者。所以在些郑重的说明:文章只限交流,版权归作者。谢谢

  • 相关阅读:
    (Oracle)取当前日期的最近工作日
    (Oracle)误删oracle表结构恢复
    (Oracle)DDL及其数据泵导入导出(impdp/expdp)
    kettle 连接oracle12c问题解决办法:
    js日历算法
    js设置cookies
    js获取下拉框的value值
    js记住密码
    checkBox的全选与全不选
    select下拉框选中其中一个值
  • 原文地址:https://www.cnblogs.com/wzg0319/p/1819050.html
Copyright © 2011-2022 走看看