Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dzewo z iością gałęzi
Forum PHP.pl > Forum > Bazy danych > MySQL
misiek_km
Witam!

mam taka tabelę

Kod
id | pid | name
   1  |  0  | x
   2  |  0  | y
   3  |  0  | z
   4  |  1  | xx
   5  |  1  | xxx
   6  |  2  | yy
   7  |  3  | zz
   8  |  3  | zzz
   9  |  2  | yyy


chciałbym zadać takie zapytanie by wynik wyglądał tak

Kod
id | pid | name | count
   1  |  0  |  x   |   2
   4  |  1  |  xx  |   0
   5  |  1  |  xxx |   0
   2  |  0  |  y   |   2
   6  |  2  |  yy  |   0
   9  |  2  |  yyy |   0
   3  |  0  |  z   |   2
   7  |  3  |  zz  |   0
   8  |  3  |  zzz |   0


nie bardzo wiem jak to zrobić
z góry dziękuję za pomoc
JoShiMa
My też nie wiemy i nie będziemy wiedzieć póki nie powiesz nam co to ten count.
nospor
@JoShiMa ty cos ostatnio nie w formie winksmiley.jpg
count - ilosc rekordow, ktore w pid mają dane id

@misiek_km group by, count, left join
JoShiMa
Cytat(nospor @ 22.10.2008, 13:50:28 ) *
@JoShiMa ty cos ostatnio nie w formie winksmiley.jpg
count - ilosc rekordow, ktore w pid mają dane id

Po prostu nie lubię się domyślać co autor miał na myśli. Takie belferskie przyzwyczajenia tongue.gif

Ten count to podzapytaniem można by zrobić.
phpion
Cytat(nospor @ 22.10.2008, 13:50:28 ) *
@misiek_km group by, count, left join

Można również podzapytaniem - trzeba by sprawdzić empirycznie, które rozwiązanie okaże się bardziej wydajne.

Gorzej będzie jeśli autor będzie chciał uwzględnić poziomy zagłębień. Przykładowo:
Kod
- x
-- xx
--- xxx

i na wyjściu wyniki: x (2), xx (1), xxx(0). Wtedy już nie robi się fajnie winksmiley.jpg opis mówi, że takiej sytuacji nie uwzględniamy ale warto by ~misiek_km to również przemyślał. Wtedy bez funkcji składowanej się (chyba) nie obejdzie.
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-2025 Invision Power Services, Inc.