你的位置:首页 > 数据库

[数据库]递归查询应用


 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     ,level122 123     ,股东名称124 125     ,股东证件号码126 127     ,出资比例128 129     ,股东标准身份证 130 131     ,营业执照注册号132 133     ,注册资金134 135     ,经营范围136 137     ,法定代表人138 139     ,法人身份证号码 140 141     ,法人标准身份证142 143     from cte144 145  end146 147 end