Последовательность в таблице
От: NewMan21  
Дата: 10.02.03 23:30
Оценка:
Как можно сделать запрос, который бы вывадил предидущий элемент и следующий, зная текущий (средний)?
Т.е. есть N=id на текущую строчку в таблице, где идет последовательность, причем возможно с дырками и надо выяснить id номера строк (Pred=N-1 и Next=N+1), которые стоят в таблице сверху и снизу. Возможно ли это сделать при помощи запроса в MySQL?
как же это все захватывает!
Re: Последовательность в таблице
От: vasily_xp  
Дата: 12.02.03 06:28
Оценка:
Здравствуйте, NewMan21, Вы писали:

NM>Как можно сделать запрос, который бы вывадил предидущий элемент и следующий, зная текущий (средний)?

NM>Т.е. есть N=id на текущую строчку в таблице, где идет последовательность, причем возможно с дырками и надо выяснить id номера строк (Pred=N-1 и Next=N+1), которые стоят в таблице сверху и снизу. Возможно ли это сделать при помощи запроса в MySQL?

Я бы сделал так:

Declare @N Int -- Номер
Declare @Previous Int -- предыдущий
Declare @Next Int -- следующий

Select @Previous = Max([id]) from t where [id] < @N -- предыдущий
Select @Next = Min([id]) from t where [id] > @N -- следующий

И старайтесь не допускать грамматических ошибок.
Re[2]: Последовательность в таблице
От: NewMan21  
Дата: 12.02.03 21:19
Оценка:
Здравствуйте, vasily_xp, Вы писали:

VX>Я бы сделал так:


VX>Declare @N Int -- Номер

VX>Declare @Previous Int -- предыдущий
VX>Declare @Next Int -- следующий

VX>Select @Previous = Max([id]) from t where [id] < @N -- предыдущий

VX>Select @Next = Min([id]) from t where [id] > @N -- следующий

VX>И старайтесь не допускать грамматических ошибок.


Большое спасибо за мысль
как же это все захватывает!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.