小编Ser*_*rov的帖子

SQL Server查询以查找从城市A到城市B的所有路由以及传输

在面试开发人员职位时,我被问到这个问题.

任务:在SQL Server表写入查询中存储飞行路线,该查询将查找从城市A到城市B的所有路线,无需转移,只需一次或两次转移.例如,你有路线:

| From         | To
----------------------
Los Angeles     London   
Los Angeles     New York
New York        London
Los Angeles     Seattle
Seattle         Paris
Paris           London
Run Code Online (Sandbox Code Playgroud)

您需要找到所有从洛杉矶到伦敦的接送路线.结果应该是这样的

Route
------------------------
Los Angeles->London
Los Angeles->New York->London
Los Angeles->Seattle->Paris->London
Run Code Online (Sandbox Code Playgroud)

我的解决方案是这样

select [From] + '->' + [To] as [Route] from Routes where [From] = 'Los Angeles' and [To] = 'London'
union 
select r1.[From] + '->' + r1.[To] + '->' + r2.[To] as [Route] from Routes as r1 
join Routes as r2 on r1.[To] = …
Run Code Online (Sandbox Code Playgroud)

sql sql-server algorithm

14
推荐指数
1
解决办法
2790
查看次数

标签 统计

algorithm ×1

sql ×1

sql-server ×1