Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Odczyt po id w jednej tabeli
Forum PHP.pl > Forum > Przedszkole
rafik73
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.
trueblue
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.
rafik73
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ę:
  1. mysqli_query($mysqli , "SET NAMES 'utf8'");
  2. $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
  3. LEFT JOIN map_villages_tables AS b ON a.id_miasta = b.obok_miasta
  4. LEFT JOIN map_villages_feat AS c ON a.id_miasta = c.id_miasta
  5. WHERE
  6. c.villages_feat_arch = 0
  7. ORDER BY a.nazwa_miasta ASC
  8. ")
  9. or die(mysqli_error($mysqli));
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.