【发布时间】:2015-04-06 21:21:06
【问题描述】:
对于一些额外的实践,我想创建一个应用程序,它会告诉用户为了将一个表连接到另一个表而采取的路线。该解决方案将基于 SQL 表中的数据输入(演示#Test)。
我发现的最佳途径是动态地将表格内部连接到自身上,直到我到达它可以连接的表格(我在下面演示的内容)。我不确定如何最好地自动执行此操作,用户将输入任意两个表以查看是否有任何可能的连接路径,有什么建议吗?使用 sp_execute SQL 的 C#/动态 SQL?
CREATE TABLE #Test
(
tbl1 varchar(20),
tbl2 varchar(20),
col varchar(20)
)
insert into #Test Values ('A','B','c1')
insert into #Test Values ('A','C','c2')
insert into #Test Values ('A','B','c3')
insert into #Test Values ('B','D','c4')
insert into #Test Values ('D','F','c5')
insert into #Test Values ('F','H','c6')
insert into #Test Values ('C','Z','c7')
insert into #Test Values ('H','I','c8')
select * from #Test
select *
from #Test A
inner join #Test B on a.tbl2 = b.tbl1
inner join #Test C on b.tbl2 = c.tbl1
inner join #Test D on c.tbl2 = D.tbl1
inner join #Test e on d.tbl2 = e.tbl1
where a.tbl1 = 'A'
【问题讨论】: