Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Samouczek dotyczący samodzielnego dołączania nr 10 na sqlzoo

Moje rozwiązanie tego problemu:podzieliłem problem na dwie części.

Teraz obie tabele S i E będą miały wspólne trasy i otrzymuję wszystkie te wspólne trasy, łącząc podzapytania, używając identyfikatorów każdej tabeli. Ponieważ istnieją zduplikowane trasy (tak samo:S.num, S.company, stops.name, E.num, E.company) użyłem 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zamówienie CakePHP nie działa

  2. Jak przekonwertować dane MySQL ze strony na PDF

  3. PHP:Iteruj po wielu tablicach i buduj zapytanie SQL INSERT

  4. znajdź N-ty największy element w SQL

  5. Zapytanie wybierające MySQL ze zmienną nazwą kolumny