помоги составить один запрос

tf

крылья рулят
помогите составить один запрос

есть дерево
table:
id индектификатор записи
parent - родитель
level - уровень считая сверху (1,2,3)
data1 - необходимые данные
data2 - необходимые данные
pos - сортировка

помогите составить запрос который отдаст lev1 data1 от первого уровня и данные третьего уровня lev3 data2 используя сортивку (для лучшего обяснения приведу лучше три запроса)
PHP:
$res='SELECT id,data1 FROM table WHERE level=1 ORDER BY pos'
while($lev1=sql_assoc($res))
{  $res2='SELECT id FROM table WHERE parent={$lev1['id']} ORDER BY pos LIMIT 0,1';
     $lev2=sql_assoc($res2); 
     $res3='SELECT data2 FROM table WHERE parent={$lev2['id']} ORDER BY pos LIMIT 0,1';
     $lev3=sql_assoc($res3); 
     $data[]=array($lev1['data1'],$lev3['data2'])
}
очень хочется уменьшить количество запросов к базе. помогите пжл
 

zerkms

TDD infected
Команда форума
tf
для подобной структуры хранения дерева в БД составить один запрос, возвращающий путь от узла до корня, нельзя
 

tf

крылья рулят
zerkms а два
или как лучше структуру передалать - все пока на этапе проектирования
 

zerkms

TDD infected
Команда форума
tf
это нормальный метод хранения...
данные получаются рекурсивно - затем кешируются
 

tf

крылья рулят
zerkms кешироватся это не будет - не критично в админе
хочет в принципе расширить свои знания sql - уменьшить количество запросов
 

zerkms

TDD infected
Команда форума
tf
уменьшение числа запросов - это не совсем расширение знаний ;)))))

прими на веру что в подобной ситуации тебя спасёт лишь рекурсия и кеширование
 
Сверху