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