







|
MySQL.RU - Webboard
Вернуться
Помогите с деревьями (simplex) 03/08/2007 - 02:56:13
Re: Помогите с деревьями (xeim) 03/08/2007 - 06:17:34
Re: Помогите с деревьями (simplex) 03/08/2007 - 13:01:31
Re: Помогите с деревьями (simplex) 03/08/2007 - 14:44:44
Re: Помогите с деревьями (xeim) 04/08/2007 - 12:35:29
Re: Помогите с деревьями (simplex) 04/08/2007 - 17:45:40
> Original message text:
> From: simplex - 03/08/2007 - 02:56:13
> Subject:Помогите с деревьями
> -----------------
> использую для получения данных из бинарного дерева множеств следующий запрос sql
>
> SELECT A.*, CASE WHEN A.section_left + 1 < A.section_right THEN 1 ELSE 0 END AS nflag FROM elit_catalog_tree A, elit_catalog_tree B WHERE B.section_id = 2 AND A.section_left >= B.section_left AND A.section_right <= B.section_right ORDER BY A.section_left
>
> он берет все дерево вниз от указателя 2
>
> поля таблицы
> section_id , section_name , section_left, section_right , section_level
>
> выборка на ура
>
> но надо чтобы вместе с выборкой из этой таблицы происходила еще одновременная выборка из 2й таблицы
> т.е насколько я понимаю inner join прикрутить
>
> таблица 2
>
> BBBBBBBBB
>
> id | name | status
>
> section_id=id в этой таблице
>
> на выходе получаем все поля первой + еще поля 2й
>
> помогите плиз
>
> как то коверкал запрос и у меня просто у тупую сливались 2е таблицы без номерации... но это не дело...
>
From: xeim - 03/08/2007 - 06:17:34
Subject:Помогите с деревьями
-----------------
Очень надеюсь, что это какая-то научная разработка, и вы хоть в математике разбираетесь хорошо :-)
Попробуйте так, заменив `table2` на имя вашей "Таблицы 2":
SELECT
`A`.`section_id`,
`A`.`section_name`,
`A`.`section_left`,
`A`.`section_right`,
`A`.`section_level`,
`A`.`section_left` + 1 < `A`.`section_right` AS `nflag`,
`table2`.`id`,
`table2`.`name`,
`table2`.`status`
FROM `elit_catalog_tree` `A`,
`elit_catalog_tree` `B`
INNER JOIN `table2`
ON `A`.`section_id` = `table2`.`id`
WHERE
`B`.`section_id` = 2 AND
`A`.`section_left` >= `B`.`section_left` AND
`A`.`section_right` <= `B`.`section_right`
ORDER BY `A`.`section_left`
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
31992
|
|