От MySQL не разбирам (дали поддържа субселекти), на Оракъл може нещо такова да се направи:
select
( select
Max(value)
from
MY_TABLE
where
(value < neshtoto_koeto_e_granicata_okolo_koiato_se_vyrtim)
) as LOWER_NEAREST_VALUE,
( select
Min(value)
from
MY_TABLE
where
(value > neshtoto_koeto_e_granicata_okolo_koiato_se_vyrtim)
) as UPPER_NEAREST_VALUE
from
DUAL
Ама си мисля, че и да имаш 1-2 реда повече код за да обработиш Result set от 2 записа е все тая.
Edit: Ако neshtoto_koeto_e_granicata_okolo_koiato_se_vyrtim е най-голямата и/или най-малката стойност в таблицата можеш да си облечеш субселектите с Nvl (еквивалента в МъСЯЛ (:-))) - Nvl( (select ..... from .....) , neshtoto_koeto_e_granicata_okolo_koiato_se_vyrtim)
Редактирано от timmyyy на 20.10.04 16:33.