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

sqlzooのチュートリアル#10に自己参加する

    この問題に対する私の解決策:問題を2つに分けました。

    これで、テーブルSとEの両方に共通のルートがあり、各テーブルのIDを使用してサブクエリを結合することにより、このすべての共通のルートを取得します。重複するルートがあるため(同じ:S.num、S.company、stops.name、 E.num、E.company)私はDISTINCTを使用しました。

    SELECT DISTINCT S.num, S.company, stops.name, E.num, E.company
    FROM
    (SELECT a.company, a.num, b.stop
     FROM route a JOIN route b ON (a.company=b.company AND a.num=b.num)
     WHERE a.stop=(SELECT id FROM stops WHERE name= 'Craiglockhart')
    )S
      JOIN
    (SELECT a.company, a.num, b.stop
     FROM route a JOIN route b ON (a.company=b.company AND a.num=b.num)
     WHERE a.stop=(SELECT id FROM stops WHERE name= 'Sighthill')
    )E
    ON (S.stop = E.stop)
    JOIN stops ON(stops.id = S.stop)
    


    1. アンパサンド(&)でのXMLエラー

    2. Oracleからmysqlにデータをインポートします

    3. psql:サーバーに接続できませんでした:接続が拒否されましたリモートデータベースに接続するときにエラーが発生しました

    4. 「友達の友達」SQLクエリ