with cte_table as (
选择 id,company1,company2, 1 AS level, company1+' '+company2 as path
从 your_table
union all
选择 a.id,a.company1,b.company2,a.level+1,a.path+' '+b.company2
从 cte_table a join your_table b a.company2 = b.company1
哪里 a.level < 100
)
选择 top 1 *
从 cte_table
哪里 level <100
顺序 by level desc;