Witam
Mam problem z pewną kwestią. Są dwie tabele:
id | miasto | obokmiasta
--------------------------------------------
1 | Warszawa | 2
2 | Tomaszów | 3
3 | Wrocław | 1
id2 | idmiasta | rzeka
-------------------------------------
1 | 1 | Wisła
2 | 2 | Pilica
3 | 3 | Odra
kolumna obokmiasta to równowartość kolumny id. Chciałbym aby wynik zapytania z tych dwóch tabel wyświetlił:
1 Warszawa Tomaszów Wisła
2 Tomaszów Wrocław Pilica
3 Wrocław Warszawa Odra
I chciałbym to zrobić w jednym zapytaniu.
Aby uzyskać miasto i miasto w pobliżu w jednym wierszu wystarczy spiąć tabelę z samą sobą (nadaj różne aliasy).
Potem wystarczy dodać drugą tabelę. Ale najpierw zacznij od połączenia miast.
Dzięki za sugestię. Wcześniej próbowałem rozwiązać to dodatkowym zapytaniem w pętli ale wydajność była tragiczna.
Podaję zapytanie dla potomnych i jeszcze raz dziękuję:
mysqli_query($mysqli , "SET NAMES 'utf8'"); $village_select_query = mysqli_query($mysqli , "SELECT a.nazwa_miasta AS miasto, b.nazwa_miasta AS obokmiasta, b.obok_miasta, c.id_villages_feat FROM map_villages_tables AS a LEFT JOIN map_villages_tables AS b ON a.id_miasta = b.obok_miasta LEFT JOIN map_villages_feat AS c ON a.id_miasta = c.id_miasta WHERE c.villages_feat_arch = 0 ORDER BY a.nazwa_miasta ASC ") or http://www.php.net/die(mysqli_error($mysqli));
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)