Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie wyszukujące od potomka do przodka
Forum PHP.pl > Forum > Bazy danych > MySQL
sledziu1
Od dłuższego czasu nurtuje mnie pewien problem - czy się da i jeśli tak to jak?

Mam oto tabelę:

  1. CREATE TABLE `categories` (
  2. `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
  3. `parent` INT UNSIGNED NOT NULL ,
  4. `name` VARCHAR( 20 ) NOT NULL ,
  5. PRIMARY KEY ( `name` ) ,
  6. INDEX ( `id` )
  7. ) ENGINE = MYISAM ;


Oraz przykładowe dane:

  1. INSERT INTO `categories` VALUES
  2. (1, 0, 'Nadrzędna 1'),
  3. (2, 0, 'Nadrzędna 2'),
  4. (3, 0, 'Nadrzędna 3'),
  5. (4, 1, 'Podrzędna do 1: aaa'),
  6. (5, 1, 'Podrzędna do 1: bbb'),
  7. (6, 4, 'Podrzędna do aaa: ab'),
  8. (7, 4, 'Podrzędna do aaa: xy'),
  9. (8, 6, 'Podrzędna do ab: kon');




Chciałbym, aby baza generowała mi szlak od potomka do pierwszego przodka (parent = 0 oznacza pierwszego przodka) czyli dla przykładowego id = 4 szlak wyglądałby następująco:

Podrzędna do 1: aaa

Nadrzędna 1

id, name
4, Podrzędna do 1: aaa
1, Nadrzędna 1

A dla id = 8
id, name
8, Podrzędna do ab: kon
6, Podrzędna do aaa: ab
4, Podrzędna do 1: aaa
1, Nadrzędna 1

id = 2
2, Nadrzędna 2

itd...
dr_bonzo
http://www.depesz.com/various/various-sqltrees.php

W skrocie - masz najgorsza z mozliwych strukture tabel dla drzewek.
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.