Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Рекурсия в MS SQL Server  [new]
Gray_sun
Member

Откуда:
Сообщений: 4
Здравствуйте.
У меня есть база данных, связанная с железной дорогой; в частности, присутствуют таблицы маршрутов поездов (Route), остановок (Stop) и таблица - разрешение связи "N к N", т.е. Route_Has_Stop, со столбцами RouteID(текущий маршрут), StopID(остановка на маршруте) и ArrivalTime (время прибытия поезда на данную остановку).
Дали задание: найти все возможные пути от одной заданной остановки до другой. Хочу узнать ваше мнение, как это лучше сделать. Читал про CTE, но это, вроде бы, не то, что нужно в данном случае, т.к. об иерархии здесь речи не идёт. Думал делать через рекурсивные функции, но застрял на этапе корректного вывода данных в таблицу.
Заранее спасибо за советы.
5 май 11, 20:14    [10613035]     Ответить | Цитировать Сообщить модератору
 Re: Рекурсия в MS SQL Server  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Мдя... Горяча пора, пора курсовиков... Гуглите на предмет "Транзитивное замыкание". И CTE - они как раз и придуманы для упрощения реализации алгоритмов теории графов на T-SQL.
5 май 11, 20:53    [10613163]     Ответить | Цитировать Сообщить модератору
 Re: Рекурсия в MS SQL Server  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Gray_sun
Читал про CTE, но это, вроде бы, не то, что нужно в данном случае, т.к. об иерархии здесь речи не идёт.
Садись, Два! По логике. Да-да, по ней родимой.
Нет слов, одни эмоции. От представленной всей картины, что можно было прочитать, как можно было это прочитать, какие сделать предположения и выводы, и почему были сделаны именно такие выводы и предположения. Ужас.

Да, видишь такое по сто раз на дню. Но ёпрст, пейте кофе тоннами чтоле, зарядку по утрам, будте в тонусе постоянно, напрягайте себя, и взваливайте на себя родного всю работу. Какое-то перманентное состояние сна, блин. :(
Ссори. Периодический выброс наболевшего.
6 май 11, 00:39    [10613868]     Ответить | Цитировать Сообщить модератору
 Re: Рекурсия в MS SQL Server  [new]
Gray_sun
Member

Откуда:
Сообщений: 4
Mnior, спасибо за ваши очень ценные и занимательные душевные излияния, но я хотел услышать совет, а не ваш нелепый оффтоп. Может, есть что сказать по делу?
6 май 11, 01:08    [10613937]     Ответить | Цитировать Сообщить модератору
 Re: Рекурсия в MS SQL Server  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
Gray_sun
есть что сказать по делу?

по делу: используйте СТЕ
6 май 11, 06:25    [10614139]     Ответить | Цитировать Сообщить модератору
 Re: Рекурсия в MS SQL Server  [new]
Начинающий SQL 2008
Member

Откуда:
Сообщений: 438
Gray_sun,

SQL2005: популярные задачи форума и CTE

Ну и на всякий случай моя задача
10546216
6 май 11, 10:18    [10614807]     Ответить | Цитировать Сообщить модератору
 Re: Рекурсия в MS SQL Server  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Knyazev Alexey
Gray_sun
есть что сказать по делу?
по делу: используйте СТЕ
Мда, мне кажется до чела всё равно не дойдёт, что CTE и иерархии никак не связаны. И какой из этого можно сделать вывод.
6 май 11, 22:52    [10619772]     Ответить | Цитировать Сообщить модератору
 Re: Рекурсия в MS SQL Server  [new]
Gray_sun
Member

Откуда:
Сообщений: 4
Вывод простой - один юзер никак не может держать язык за зубами в треде, не предназначенном для поучений и "периодических выбросов наболевшего".
Всем спасибо за советы.
6 май 11, 23:00    [10619793]     Ответить | Цитировать Сообщить модератору
 Re: Рекурсия в MS SQL Server  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Gray_sun
держать язык за зубами в треде, не предназначенном для поучений
Му-ха-ха. В мемориз.

Да чё вы ссыте, если не врубаетесь, зачем брыкаться словно вас избивают, можно просто спросить, что мы черти что-ли.

PS: скажу шестой раз в этом топике (для порядка): используйте СТЕ
PPS: Всё, всё умолкаю
7 май 11, 00:23    [10620017]     Ответить | Цитировать Сообщить модератору
 Re: Рекурсия в MS SQL Server  [new]
Gray_sun
Member

Откуда:
Сообщений: 4
Mnior, иногда лучше жевать, чем говорить. А для вас ещё лучше - свалить обратно под мост и не выставлять себя как идиота.
7 май 11, 00:32    [10620046]     Ответить | Цитировать Сообщить модератору
 Re: Рекурсия в MS SQL Server  [new]
iljy
Member

Откуда:
Сообщений: 8711
Gray_sun,

вот и воспользуйтесь своим же советом. Если вы не понимаете, что рекурсия и иерархия - вещи слабо связанные, это исключительно ваша проблема. А решение такой задачи на форуме уже много раз обсуждалось (и именно с применением СТЕ), вот одна из тем.
8 май 11, 12:48    [10623245]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить