CASE en ORDER BY

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]

Responses

Browse pgsql-es-ayuda by date

  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