Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> nested sets i sumowanie wartosci pol potomkow i rodzica
lukaskolista
post
Post #1





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


Witam. Mam zapytanie

  1. SELECT child.name, child.id, count(parent.id)-1 AS depth
  2. FROM categories AS child JOIN categories AS parent ON child.LEFT >= parent.LEFT AND child.LEFT <= parent.RIGHT
  3. GROUP BY child.id
  4. ORDER BY child.LEFT

pobierajace glebokosc wezna w drzewie. Tabela, z ktorej pobieranie jest drzewo ma jeszcze pole "topics" zawierajace liczbe. Chcialbym zsumowac wartosci tego pola dla wszystkich potomkow danego wezna + wartosc pola dla tego wezla. Probowalem z sum child.topics, ale nie umiem sobie z tym poradzic. Z gory dziekuje za pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. Poziom zagłębienia gałęzi/liścia dobrze jest trzymać na stałe zapisanego w bazie danych - aktualizacja tej wartości nie jest problematyczna, a upraszcza w dużym stopniu część zapytań (takich jak to).
2. Po zastosowaniu się do pkt 1. nie powinieneś mieć problemów z dodaniem SUM
3. Nie powinieneś używać LEFT/RIGHT jako nazw kolumn ponieważ są to słowa kluczowe chyba wszystkich popularnych baz opartych o język SQL - najczęściej stosuje się LFT/RGT.
Go to the top of the page
+Quote Post
zegarek84
post
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


Cytat(Crozin @ 5.09.2010, 11:05:26 ) *
1. Poziom zagłębienia gałęzi/liścia dobrze jest trzymać na stałe zapisanego w bazie danych - aktualizacja tej wartości nie jest problematyczna, a upraszcza w dużym stopniu część zapytań (takich jak to).
ja odpowiem pod innym kontem - przynajmniej przechowywać parenta coby po jakimś błedzie odtworzyć skryptem drzewo [ale już niestety nie posortowane...]
Cytat(Crozin @ 5.09.2010, 11:05:26 ) *
3. Nie powinieneś używać LEFT/RIGHT jako nazw kolumn ponieważ są to słowa kluczowe chyba wszystkich popularnych baz opartych o język SQL - najczęściej stosuje się LFT/RGT.
większości - ale fakt faktem racja winksmiley.jpg

trochu po pracy miałem smaki na browca to może nie dowidzę, ale nie widzę tego sum ;p [a juz analizować to nie mam sił ;p] ale czemu skoro z rozicem to czemu nie between questionmark.gif

luknij tutaj - powinno Ci się przydać:
http://piotrekkr.info/2009/08/me-vs-tree-c...-i-php/#more-45


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
lukaskolista
post
Post #4





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


nie robilem sum, bo bylo zle. Wygladalo tak
  1. SUM(child.topics)
. Klasa do obslugi drzewa podana przez Ciebie korzysta niestety z PDO, z ktorego ja nie korzystam sad.gif
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: 19.08.2025 - 11:45