Zobacz... jeśli chcę pobrać wszystkich znajomych użytkownika, to muszę z tabeli 'friends' pobrać wszystkie rekordy, w których jest on zapraszajacym, jak też te w których był zapraszany. Dodatkowo muszę pobrać dane każdego znajomego z tabeli 'users', czyli najprosciej można to zrealizować dwoma zapytaniami:
Kod
select * from friends, users where friends.from = 'x' and friends.to = users.user_id order by users.login
i drugie analogicznie tylko friends.to = 'x'.
Problem polega na tym, ze wtedy będę miał dwie porcje posortowanych danych, któe mogę conajwyżej zapisać w jednej tabeli. Dalej będą one jednak od siebie niezależne, bo wyjdzie coś takiego:
a
b
c
d
a
b
c
d
Cały myk polega na tym, że chcę odrazu uzyskać posortowaną całą tablicę z przyjaciółmi:
a
a
b
b
c
c
d
d