首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL告知是否没有从到达站返回的列车行程路线

MySQL告知是否没有从到达站返回的列车行程路线
EN

Stack Overflow用户
提问于 2020-09-17 00:56:22
回答 1查看 39关注 0票数 0

查找作为通往另一桩号的路线的起点,但不是来自另一桩号的任何路线的目的地的桩号。

尝试打印日本火车站的名称,这些火车站是通往另一个车站的路线的起点,没有重复,并且按字母顺序排序,但不是从该另一个火车站出发的任何路线的目的地。因此,如果路由1->2存在,而3->1不存在,则在1上存在任何往返(例如1->2和2->1),1仍然被视为结果的一部分。

数据库设置为:

代码语言:javascript
运行
复制
TABLE = Stations
id|name_station |country|manager_name|time_zone  |number_of_employees
1 | Tokyo Grand | Japan | Satoshi    | Japan Time| 500
2 | Nagasaki    |Japan  | Hirohito   | Japan Time| 345
3 | Tokyo suburb|Japan  | Kiki.      | Japan Time| 344



  TABLE = train_routes
start_station_id| end_station_id | date_of_last_trip
      1         |      3         | 07.20.2020
      1         |      2         | 07.21.2020
      2         |      1         | 07.21.2020

基于这张表,我们在最终结果中包括东京大酒店,因为它有一条到东京郊区的路线,但没有从东京郊区返回东京大酒店的路线。东京大机场和长崎之间的往返行程并没有阻止东京大机场被列为起点,没有回程。

因此,最终结果是只返回遵循此条件并按字母顺序组织的电台的唯一电台名称。根据这些数据,stations.id、train_routes.start_station_id、routes.end_station_id和stations.country似乎是与此问题相关的唯一项。经理姓名、时区、员工数量和上次出差日期都无关紧要。

因此,该过程似乎是根据从日本国家车站过滤的ids来查看是否存在从旅行到车站的回程。如果起始桩号没有从行进到桩号的回程,则添加起始桩号。然后添加,将ids替换为电台的名称。

EN

回答 1

Stack Overflow用户

发布于 2020-09-17 04:31:14

我认为这应该可以做到:

代码语言:javascript
运行
复制
select distinct
    s1.name_station
from
    train_routes r1
inner join
    Stations s1
on
    r1.start_station_id = s1.id
left outer join
    train_routes r2
on
    r1.start_station_id = r2.end_station_id
    and r1.end_station_id = r2.start_station_id
where
    r2.end_station_id is null
    and s1.country = 'Japan'
order by
    s1.name_station
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63924743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档