On Thu, Jun 26, 2008 at 7:27 AM, Alvaro Herrera
<[EMAIL PROTECTED]> wrote:
> Daniel Hernández escribió:
>> Hola, parece que los mails que he enviado no han llegado, no lo he
>> visto en los archivos, así que pregunto de nuevo.
>>
>> Tengo una tabla como esta:
>>
>> CREATE TABLE t (x double precision primary key, ...);
>>
>> y quiero obtener el elemento cuyo valor sea más cercano a un valor dado
>> x0.
>
> Usa un UNION, por ej.
>
> select * from (
>        (select * from t where x < 0.4 order by x desc limit 1)
>        union all
>        (select * from t where x > 0.4 order by x limit 1)
>        ) qqch
> order by abs(x - 0.4);
>
> O sea tomas el mas cercano hacia arriba y hacia abajo, y luego escoges
> uno de entre ellos.
>

tenia este mail guardardo para chequearlo cuando tuviera tiempo...
que pasa si en el conjunto de valores esta incluido x?
no deberia uno de los select admitir tambien los iguales?

-- 
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Guayaquil - Ecuador
Cel. (593) 87171157
--
TIP 8: explain analyze es tu amigo

Responder a