sql >> Databáze >  >> RDS >> Mysql

Výukový program pro samostatné připojení č. 10 na sqlzoo

Moje řešení tohoto problému:Rozdělil jsem problém na dva.

Nyní budou mít obě tabulky S a E společné trasy a všechny tyto společné trasy získám spojením dílčích dotazů pomocí ID každé tabulky. Protože existují duplicitní trasy (stejné:S.num, S.company, stops.name, E.num, E.company) jsem použil 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. SQL UPDATE s dílčím dotazem, který odkazuje na stejnou tabulku v MySQL

  2. MySQL Připravené příkazy se seznamem proměnných s proměnnou velikostí

  3. Převést „datetimeoffset“ na „smalldatetime“ v SQL Server (příklady T-SQL)

  4. Funkce LENGTH() v Oracle