用sql写一个公交乘坐线路查询,需要有一个换乘站
时间: 2024-05-08 15:16:25 浏览: 132
实现交通路线和换乘查询
5星 · 资源好评率100%
假设有以下表格:
- 站点表格:包含站点的id和名称
- 线路表格:包含线路的id和名称
- 线路站点表格:包含线路和站点的对应关系,以及该站点在该线路上的顺序
- 换乘站点表格:包含换乘站点的id和名称
则可以使用以下SQL语句进行查询:
```
SELECT DISTINCT l1.name AS '起点', l2.name AS '终点', t.name AS '换乘站点'
FROM
线路站点表格 AS s1
JOIN 线路站点表格 AS s2 ON s1.线路id = s2.线路id AND s1.顺序 < s2.顺序
JOIN 线路表格 AS l1 ON s1.线路id = l1.id
JOIN 线路表格 AS l2 ON s2.线路id = l2.id
JOIN 换乘站点表格 AS t ON s1.站点id = t.id OR s2.站点id = t.id
WHERE l1.name = '起点名称' AND l2.name = '终点名称'
```
其中,使用了JOIN语句连接了四张表格,筛选出了起点和终点在同一线路上但经过了换乘站点的线路,最后输出了起点、终点和换乘站点的名称。
阅读全文