Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Najmniejsza liczba zapytan
siorbi
post
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 8.09.2005

Ostrzeżenie: (0%)
-----


Mam tabele z wojewodztwami i miastami. Chcialbym wyswietlic wojewodztwa posortowane nazwami i do kazdego z nich miasta takze posortowane nazwami. Robilem to w petli, czyli 17 zapytan na Polskie realia. Czy jestem w stanie to zrobic za pomoca dwoch zapytan? Nie wiem jak sie zabrac za to:/

Tabela ma jedynie pola: ppid, pid, nazwa


--------------------
www.siorbi.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
slepiec
post
Post #2





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 23.08.2007

Ostrzeżenie: (0%)
-----


a nie możesz tych dwóch tabel zgrać do php i w nim połączyć ?
ewent. stworzyć jedną tabelę samych miast i dodać do niej id województwa? <-to może być jedno zapytanie.
Go to the top of the page
+Quote Post
phpion
post
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Powinieneś rozbić to na 2 tabele:
wojewodztwo [id, nazwa]
miasto [id, id_wojewodztwa, nazwa]
Masz wtedy tabele znormalizowane i możesz zrobić takie zapytanie:
  1. SELECT m.nazwa, w.nazwa FROM miasto m LEFT JOIN wojewodztwo w ON m.id_wojewodztwa=w.id ORDER BY w.nazwa ASC, m.nazwa ASC

Nie sprawdzałem ale powinno działać.

Ten post edytował phpion.com 13.09.2007, 20:27:24
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #4





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(siorbi @ 13.09.2007, 10:39:52 ) *
Tabela ma jedynie pola: ppid, pid, nazwa

Jeżeli są one typu: id, parent_id, nazwa, a tabela wygląda mniej więcej tak:
-------------------------------
id | parent_id | nazwa
-------------------------------
1 | 0 | malopolskie
2 | 0 | opolskie
3 | 1 | Krakow
4 | 1 | Nowy Sacz
5 | 2 | Opole
-------------------------------
to możesz zastosować zapytanie (nie sprawdzane!):
  1. SELECT woj.nazwa, miasto.nazwa
  2. FROM tabela AS woj
  3. JOIN tabela AS miasto ON (miasto.parent_id = woj.id)
  4. WHERE woj.parent_id = 0
  5. ORDER BY woj.nazwa ASC, miasto.nazwa ASC


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 20:38