Czy ta forma jest najprostsza czy można coś tutaj jeszcze ulepszyć?
SELECT DISTINCT a.num, a.company, e.name, c.num, c.company FROM route as a JOIN route as b on a.num = b.num AND a.company = b.company JOIN route as c on b.stop = c.stop JOIN route as d on c.company = d.company AND c.num = d.num AND d.stop = 213 JOIN stops as e on b.stop = e.id WHERE a.stop = 53
@plushy: też mi się to nie podobało, ale prawie wszystkie rozwiązania jakie widziałem w necie też używają DISTINCT.
Jednak udało mi się to ominąć takim potworkiem (✌゚∀゚)☞
SELECT a.num, a.company, e.name, c.num, c.company FROM route as a JOIN route as b on a.num = b.num AND a.company = b.company JOIN route as c on b.stop = c.stop and CONCAT(c.num,c.company) IN (SELECT CONCAT(num,company) FROM route WHERE
@DarkAlchemy a dobra, autobus może być dwa razy na tym samym przystanku więc w drodze wyjątku może być distinct Bo naet exists Tu not pomoz3. Ale u 5qk spróbuj exists
Robię sobie zadania z SQL z SQLZoo i mam pytanie w związku z zadaniem 10. z tej strony:
http://sqlzoo.net/wiki/Self_join
Czy ta forma jest najprostsza czy można coś tutaj jeszcze ulepszyć?
SELECT DISTINCT
a.num,
a.company,
e.name,
c.num,
c.company
FROM
route as a
JOIN
route as b on a.num = b.num AND a.company = b.company
JOIN
route as c on b.stop = c.stop
JOIN
route as d on c.company = d.company AND c.num = d.num AND d.stop = 213
JOIN
stops as e on b.stop = e.id
WHERE
a.stop = 53
Jednak udało mi się to ominąć takim potworkiem (✌ ゚ ∀ ゚)☞
SELECT
a.num,
a.company,
e.name,
c.num,
c.company
FROM
route as a
JOIN
route as b on a.num = b.num AND a.company = b.company
JOIN
route as c on b.stop = c.stop and CONCAT(c.num,c.company) IN (SELECT CONCAT(num,company) FROM route WHERE