Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Nietypowe zapytanie do bazy
adam882
post 20.11.2009, 08:49:50
Post #1





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

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


Witam

Chciałbym prosić o pomoc w napisaniu zapytania mysql. Stworzyłem tabelę kategorie dla katalogu w której znajduje się: id, nazwa, parentid. Kiedy parentid=0 to dana kategoria widziana jest jako główna, w przeciwnym razie, kiedy nie jest równe 0, podany jest id do kategorii głównej, a rekord widziany jest jako subkategoria. Przykładowo mając takie rekordy:

ID | NAZWA | PARENTID
1 Biznes 0
2 Banki 1
3 Finanse 1

  1. $q=mysql_query('SELECT id, nazwa, parentid FROM kategorie WHERE id='.$szukanyid.'');

Chciałbym zrobić w jednym zapytaniu, aby pobierając podkategorii nazwę z jej numeru ID dodatkowo móc pobrać jeszcze nazwę kategorii głównej dla niej,aby wyglądało np. Biznes >> Finanse
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
tvister
post 20.11.2009, 09:05:32
Post #2





Grupa: Zarejestrowani
Postów: 253
Pomógł: 29
Dołączył: 18.08.2008

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


kolejny freestyle
  1. SELECT id, nazwa, IF (id_parent,SELECT nazwa FROM hulalipopolubd WHERE id = id_parent,0) FROM hulalipopolubd


--------------------
Kto rano wstaje ten leje jak z cebra.
Go to the top of the page
+Quote Post
adam882
post 21.11.2009, 22:10:25
Post #3





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

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


mam coś takiego, ale nie działa worriedsmiley.gif
  1. SELECT id, nazwa, parent, IF(parent,SELECT nazwa FROM kategorie WHERE id=parent,0) FROM kategorie WHERE id=153 LIMIT 1


Ten post edytował adam882 21.11.2009, 22:10:43
Go to the top of the page
+Quote Post
tvister
post 23.11.2009, 18:02:30
Post #4





Grupa: Zarejestrowani
Postów: 253
Pomógł: 29
Dołączył: 18.08.2008

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


a tak
  1. SELECT id, nazwa, parentid, IF(parentid > 0,(SELECT nazwa FROM kategorie WHERE id = k.parentid),0) AS przodek FROM kategorie AS k WHERE k.id=2 LIMIT 1


Ten post edytował tvister 23.11.2009, 18:03:00


--------------------
Kto rano wstaje ten leje jak z cebra.
Go to the top of the page
+Quote Post
seth-kk
post 23.11.2009, 19:18:32
Post #5





Grupa: Zarejestrowani
Postów: 444
Pomógł: 79
Dołączył: 26.05.2009

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


  1. SELECT k.nazwa, pk.nazwa AS parent_nazwa FROM kategorie k LEFT JOIN kategorie pk ON k.parentid = pk.id WHERE k.id = $twojeID


--------------------
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:18