如何递归检索可用的城镇?



我正在制作一个运输应用程序,现在,我正在实现SQL并编写一些查询。

我有一个表Train(From, To),它基本上是一个有两列的表。第一列是你出发的城市,下一列是你到达的城市。

我的问题是我如何从某个城市递归地检索你可以去的所有城市?例如,下面是一个样本数据集:

<表类> 与 tbody><<tr>圣路易斯杰佛逊市杰佛逊市柯克伍德芝加哥圣路易斯柯克伍德贝尔维尔

使用WITH RECURSIVE:

WITH RECURSIVE
c(t) AS (
SELECT "to" FROM cities
WHERE "from" = 'St Louis'
UNION
SELECT "to" FROM cities, c
WHERE c.t = cities."from"
)
SELECT t FROM c;

(test in sqlite3).

最新更新