Aktywne Wpisy

Witam wszystkich serdecznie w tę piątkową noc.
źródło: temp_file7384781755921187889
Pobierz
affairz +144
Skopiuj link
Skopiuj link
źródło: temp_file7384781755921187889
Pobierz
Regulamin
Reklama
Kontakt
O nas
FAQ
Osiągnięcia
Ranking
Mógłby ktoś pomóc, bo nie daje mi to spokoju. Wszystkie rozwiązania z neta po przekopiowaniu i wklejeniu dają błędny wynik.
(https://sqlzoo.net/wiki/Self_join)
Zadanie 10.
Doszedłem do czegoś takiego.
SELECT abus.num, abus.company, start.name, bbus.num, bbus.company, end.name
FROM route abus JOIN route bbus ON abus.num <> bbus.num
JOIN stops start ON abus.stop = start.id
JOIN stops end ON bbus.stop = end.id
WHERE start.name = 'Craiglockhart' AND end.name = 'Lochend'
To zapytanie znajduję poprawnie autobusy, które zatrzymują się na stacji początkowej i inne, które zatrzymują się na końcowej. Trzeba tylko znaleźć stacje przesiadkową. Jedynie na co wpadłem to :
JOIN stops trans ON abus.stop = trans.id AND bbus.stop = trans.id
Ale po dodaniu tego już całkiem nic nie znajduje. Liczę na waszą pomoc :)
Jak dla mnie w tym zadaniu podstawową tabelą do joinów jest
route,stopsprzyda się tylko do nazwy przystanku.Żeby dla linii dostać początkowy i końcowy (przesiadkowy) przystanek musisz zrobić self joina z
route. Czyli mając dwie linie trzeba łącznie zjoinować 4xroute+ jakieśstopsdla nazw.Zgodnie z hintem
https://www.wykop.pl/wpis/32287203/hejo-mirki-z-sql-robie-sobie-zadania-z-sql-z-sqlzo/
dzięki panowie