查找作为通往另一桩号的路线的起点,但不是来自另一桩号的任何路线的目的地的桩号。
尝试打印日本火车站的名称,这些火车站是通往另一个车站的路线的起点,没有重复,并且按字母顺序排序,但不是从该另一个火车站出发的任何路线的目的地。因此,如果路由1->2存在,而3->1不存在,则在1上存在任何往返(例如1->2和2->1),1仍然被视为结果的一部分。
数据库设置为:
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替换为电台的名称。
发布于 2020-09-17 04:31:14
我认为这应该可以做到:
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_stationhttps://stackoverflow.com/questions/63924743
复制相似问题