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




MySQL.RU - Webboard



Вернуться
Использование линейных позиционных кодов. (Eugene) 08/12/2004 - 14:30:18
      Re: Использование линейных позиционных кодов. (Валентин) 08/12/2004 - 15:20:13
      Re: Использование линейных позиционных кодов. (Eugene) 08/12/2004 - 16:12:48
      Re: Использование линейных позиционных кодов. (Eugene Bludov) 15/12/2004 - 11:27:17

> Original message text:
> From: Eugene - 08/12/2004 - 14:30:18
> Subject:Использование линейных позиционных кодов.
> -----------------
> Есть:
> двухполевая таблица, одно поле - позиционный код (id), второе - наименование (name).
> Таблица представляет собой древовидный список.
> Поле id - это varchar, имеющий переменную длину в зависимости от уровня вложенности в дереве. Далее из примера будет понятно, о чём идёт речь.
>
> Нужно:
> написать запрос, который бы выбирал все записи, сортируя подуровни по названию.
>
> Например:
>
> запрос SELECT * ...ORDER BY id" возвращает
>
> id name
> --------------------
> '01' 'Мухи'
> '0101' 'Цеце'
> '0102' 'Навозная'
> '02' 'Котлеты'
> '0201' 'Свиная'
> '0202' 'Говяжья'
>
> а надо так:
>
> id name
> --------------------
> '02' 'Котлеты'
> '0202' 'Говяжья'
> '0201' 'Свиная'
> '01' 'Мухи'
> '0102' 'Навозная'
> 0101 Цеце
>
> Как сделать выборку в таком порядке, если это вообще возможно?
>
>


From: Валентин - 08/12/2004 - 15:20:13
Subject:Использование линейных позиционных кодов.
-----------------
Если для любого случая.
Рекурсивной процедурой.
Когда код и родитель представляют из себя 1 поле, то по нему только и можно сортировать, т.к. по ID,Name будет все равно всегда по ID.

Для частного случая:
Нужно перелоить добавление и изменение на клиент и ровнять в таблице ID, только это уже будет не ID, а поле сортировки.
Ровнять таким образом нужно коды, т.е. их сортировку по Name.



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

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

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



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