递归查询应用-公司股东层级分析

  1  
  2 
  3 
  4 
  5 
  6 
  7  
  8 
  9 
 10 CREATE proc [dbo].[公司股东层级分析]
 11 
 12  @qymc nvarchar(400)
 13 
 14 
 15 as
 16 
 17 begin
 18 
 19   if exists (select 企业名称 from dbo.工商登记明细 where 企业名称=@qymc)
 20 
 21   begin
 22 
 23     with cte as
 24 
 25     (
 26 
 27     select 
 28 
 29         企业名称
 30 
 31         ,电话
 32 
 33         ,住所
 34 
 35         ,成立时间
 36 
 37         ,0 as level
 38 
 39         ,股东名称
 40 
 41         ,股东证件号码
 42 
 43         ,出资比例
 44 
 45         ,股东标准身份证 
 46 
 47         ,营业执照注册号
 48 
 49         ,注册资金
 50 
 51         ,经营范围
 52 
 53         ,法定代表人
 54 
 55         ,法人身份证号码 
 56 
 57         ,标准身份证 as 法人标准身份证
 58 
 59     from   dbo.工商登记明细
 60 
 61     where 企业名称=@qymc
 62 
 63     union all
 64 
 65     select 
 66 
 67         a.企业名称
 68 
 69         ,a.电话
 70 
 71         ,a.住所
 72 
 73         ,a.成立时间
 74 
 75         ,level+1 as level
 76 
 77         ,a.股东名称
 78 
 79         ,a.股东证件号码
 80 
 81         ,a.出资比例
 82 
 83         ,a.股东标准身份证 
 84 
 85         ,a.营业执照注册号
 86 
 87         ,a.注册资金
 88 
 89         ,a.经营范围
 90 
 91         ,a.法定代表人
 92 
 93         ,a.法人身份证号码 
 94 
 95         ,a.标准身份证 as 法人标准身份证 
 96 
 97          
 98 
 99     from  dbo.工商登记明细 a 
100 
101          inner join cte b 
102 
103          on a.企业名称=b.股东名称 and b.企业名称<>a.股东名称
104 
105         
106 
107      )
108 
109         
110 
111          select 
112 
113          企业名称
114 
115         ,电话
116 
117         ,住所
118 
119         ,成立时间
120 
121         ,level
122 
123         ,股东名称
124 
125         ,股东证件号码
126 
127         ,出资比例
128 
129         ,股东标准身份证 
130 
131         ,营业执照注册号
132 
133         ,注册资金
134 
135         ,经营范围
136 
137         ,法定代表人
138 
139         ,法人身份证号码 
140 
141         ,法人标准身份证
142 
143          from cte
144 
145    end
146 
147 end
原文地址:https://www.cnblogs.com/bgbird/p/4959258.html