Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: nested sets i sumowanie wartosci pol potomkow i rodzica
Forum PHP.pl > Forum > Bazy danych
lukaskolista
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
Crozin
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.
zegarek84
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
lukaskolista
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
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.