Wpis z mikrobloga

Hejo Mirki z #sql

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
  • 4
@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