Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Выбор с подуровнем и подсчет (Данил) 21/09/2011 - 20:49:20
      Re: Выбор с подуровнем и подсчет (Akina) 21/09/2011 - 21:35:10
      Re: Выбор с подуровнем и подсчет (Данил) 21/09/2011 - 22:10:30
      Re: Выбор с подуровнем и подсчет (Akina) 22/09/2011 - 10:09:30
      Re: ограничить выборку дочек 4-мя последними (Akina) 22/09/2011 - 10:11:11
      Re: Выбор с подуровнем и подсчет (Данил) 22/09/2011 - 13:27:29
      Re: Выбор с подуровнем и подсчет (Данил) 22/09/2011 - 13:55:17
      Re: Написал процедуру, но она не работает (Данил) 23/09/2011 - 09:40:30
      Re: УРА!!! ЗАРАБОТАЛО!!!! (Данил) 25/09/2011 - 10:52:44

> Original message text:
> From: Данил - 21/09/2011 - 20:49:20
> Subject:Выбор с подуровнем и подсчет
> -----------------
> Доброго!
>
> Есть таблица table с полями id и parent
> parent либо 0 - root, либо id в котором находится запись.
> Уровня только два - основная запись root, которая либо содержит дочки, либо нет. Дочки ссылаются только на id с parent = 0.
>
> Как выбрать все записи и посчитать сколько у каждого parent = 0 дочек? Можно ли сделать тоже самое + ограничить выборку дочек 4-мя последними(order by desc)?
> Можно ли все сделать в один запрос и как долго он будет работать? :)
> спасибо.
>


From: Данил - 23/09/2011 - 09:40:30
Subject:Написал процедуру, но она не работает
-----------------
DELIMITER $$

DROP Procedure IF EXISTS `get_table` $$
CREATE DEFINER = CURRENT_USER PROCEDURE `get_table`()
BEGIN
DECLARE id_now INTEGER;
DECLARE pid_now INTEGER;
DECLARE seek_end BOOLEAN DEFAULT FALSE;

DECLARE cur1 CURSOR FOR SELECT id, parent FROM `table1` WHERE parent = 0;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET seek_end = TRUE;
OPEN cur1;

WHILE seek_end = FALSE DO
FETCH cur1 INTO id_now, pid_now;
/*SELECT id_now, pid_now, seek_end;*/
SELECT id, parent FROM `table1` WHERE parent = id_now;
END WHILE;
CLOSE cur1;

END $$

DELIMITER ;


Выполняет один раз закомментированный селект, в таком виде phpmyadmin 3.3.9 говорит Дополнительные возможности для работы со связанными таблицами недоступны.

Это вообще правильно? Можно ли как-то это сделать или лучше написать этот же цикл на php?


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
40605



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |