From: | cDaniel GE <cdanielg(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | CASE en ORDER BY |
Date: | 2014-02-11 22:17:03 |
Message-ID: | CAJAbji+3Y32Hu4tbx=EAYNmaNZhGWNab_Gpy_XLJYSX_AYHEYw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Buenas tardes amigos tengo un problema al querer poner un *case* en el *order
by* de una consulta.
Resulta que tengo una función que me sirve para 2 cosas distintas con tan
solo cambiarle el sentido al orden del query que uso.
algo como esto :
CREATE OR REPLACE FUNCTION pagar( id_deuda integer, modo integer, monto
double precision)
RETURNS double precision AS
$BODY$
declare
_cur_amort refcursor;
_amort tabla_amortizacion%rowtype;
open
_cur_amort
for
select
*
from
tabla_amortizacion
where
deuda_id = id_deuda
order by case
when modo =1 then fecha asc
else fecha desc end;
loop
/* contenido */
end loop;
close _cur_amort;
return monto;
END
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
PD:
*Intenté colocar [if (modo = 1 ) then ] luego del for y tampoco me lo
permitió. *
*Otra cosa que intenté fue colocar el resultado del case entre comillas y
tampoco. *
_________________
····· ¢Ð(at)ŋı€łg ·····
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
"Ningún hombre es más grande que el que se vence a sí mismo por cumplir con
su deber.."
Eugenio María De Hostos
[Imprima sólo si es necesario, cuidemos nuestro planeta]
From | Date | Subject | |
---|---|---|---|
Next Message | cDaniel GE | 2014-02-11 22:30:00 | Re: CASE en ORDER BY |
Previous Message | Lennin Caro | 2014-02-11 20:05:37 | Re: Query lenta |