Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Selbstbeitreten-Tutorial Nr. 10 auf sqlzoo

Meine Lösung für dieses Problem:Ich habe das Problem in zwei Teile geteilt.

Jetzt haben sowohl Tabelle S als auch E gemeinsame Routen, und ich erhalte alle diese gemeinsamen Routen, indem ich die Unterabfragen unter Verwendung der IDs jeder Tabelle verbinde. E.num, E.company) habe ich DISTINCT verwendet.

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)