sql >> データベース >  >> RDS >> Mysql

2つの停車地名の間のすべての出発時刻と到着時刻を一覧表示するGTFSクエリ

    データを結合し、stopsに結合するだけです 開始と終了の停止とstop_timesへの参加に2回 startとendのstop_timesに2回、
    わからないのは、direction_idの場所だけです。 から来ています。
    以下のクエリを試してください。
    クエリの最後に、start_s.stop_idを指定できます。 およびend_s.stop_id これは、データをクエリしている2つのストップを表します。

    SELECT t.trip_id,
           start_s.stop_name as departure_stop,
           start_st.departure_time,
           direction_id as direction,
           end_s.stop_name as arrival_stop,
           end_st.arrival_time
    FROM
    trips t INNER JOIN calendar c ON t.service_id = c.service_id
            INNER JOIN routes r ON t.route_id = r.route_id
            INNER JOIN stop_times start_st ON t.trip_id = start_st.trip_id
            INNER JOIN stops start_s ON start_st.stop_id = start_s.stop_id
            INNER JOIN stop_times end_st ON t.trip_id = end_st.trip_id
            INNER JOIN stops end_s ON end_st.stop_id = end_s.stop_id
    WHERE c.monday = 1 
      AND direction_id = 1
      AND start_st.departure_time > "00:00:00" AND start_st.departure_time < "23:59:59" 
      AND r.route_id = 1
      AND start_s.stop_id = 42
      AND end_s.stop_id = 1
    

    このリンク からGTFS構造の例を検索してみました direction_idに何も見つかりませんでした

    AND start_s.stop_id = 42 AND end_s.stop_id = 1の代わりにストップ名を指定するには
    AND start_s.stop_name = 'Garrison' AND end_s.stop_name = 'Grand Central'を使用するだけです




    1. listviewは、Androidのデータベースからのデータを表示します

    2. SchrödingersMySQLテーブル:存在しますが、存在しません

    3. mysqlを使用したノードjsのネストされたクエリ

    4. 操作'='の照合(utf8_unicode_ci、IMPLICIT)と(utf8_general_ci、IMPLICIT)の不正な組み合わせ