deberías hacer una función que retorne un setofrecord y la llamas con un
select * from funcion

El 6 de abril de 2016, 10:59, Gerardo Herzig <gher...@fmed.uba.ar> escribió:

> Hasta donde se, no existen las vistas parametrizadas.
> Supongo que una funcion seria lo mas cercano.
>
> HTH
> Gerardo
>
> ----- Mensaje original -----
> > De: "Virginia" <mavi...@gmail.com>
> > Para: "Ayuda" <pgsql-es-ayuda@postgresql.org>
> > Enviados: Miércoles, 6 de Abril 2016 12:03:23
> > Asunto: [pgsql-es-ayuda] Vista con pase de parámetros
> >
> >
> > Buen día,
> >
> > Quisiera saber si me pueden orientar acerca de vistas con pase de
> > parámetros, éstas funcionan en postgresql? Si es así, cómo se hacen?
> > pueden orientarme?
> > Lo que necesito es pasar ésta consulta de php:
> >
> > SELECT distinct (e.empid), e.empresa, nt.fecha_vencimiento, (SELECT
> > cp2_notas_tareas.no_renovacion FROM cp2_notas_tareas WHERE
> > cp2_notas_tareas.tipo = 861 AND cp2_notas_tareas.tarea_id = (SELECT
> > max(tareas.notareas_id) FROM cp2_notas_tareas tareas where
> > tareas.empid = e.empid AND to_char(DATE(tareas.fecha_vencimiento)
> > ,'yyyy-mm') = 'PARAMETRO1 TIPO ANHO-MES' AND tareas.categorias_nt_id
> > = 8 AND tareas.tipo = 860 )) as renovo, (SELECT mc.descripcion FROM
> > cp2_motivos_categorias mc, cp2_notas_tareas aux WHERE mc.valor =
> > aux.no_renovacion AND aux.tarea_id = (SELECT max(tareas.notareas_id)
> > FROM cp2_notas_tareas tareas where tareas.empid = e.empid AND
> > to_char(DATE(tareas.fecha_vencimiento) ,'yyyy-mm') = 'PARAMETRO1
> > TIPO ANHO-MES' AND tareas.categorias_nt_id = 8 AND tareas.tipo = 860
> > ) limit 1) as motivo, (SELECT cp2_notas_tareas.descripcion FROM
> > cp2_notas_tareas WHERE cp2_notas_tareas.tipo = 861 AND
> > cp2_notas_tareas.tarea_id = (SELECT max(tareas.notareas_id) FROM
> > cp2_notas_tareas tareas where tareas.empid = e.empid AND
> > to_char(DATE(tareas.fecha_vencimiento) ,'yyyy-mm') = 'PARAMETRO1
> > TIPO ANHO-MES' AND tareas.categorias_nt_id = 8 AND tareas.tipo = 860
> > )) as observacion, (SELECT cp2_notas_tareas.notareas_id FROM
> > cp2_notas_tareas WHERE cp2_notas_tareas.tipo = 861 AND
> > cp2_notas_tareas.tarea_id = (SELECT max(tareas.notareas_id) FROM
> > cp2_notas_tareas tareas where tareas.empid = e.empid AND
> > to_char(DATE(tareas.fecha_vencimiento) ,'yyyy-mm') = 'PARAMETRO1
> > TIPO ANHO-MES' AND tareas.categorias_nt_id = 8 AND tareas.tipo = 860
> > )) as ntid FROM empresas e INNER JOIN cp2_notas_tareas nt ON
> > (nt.empid = e.empid) LEFT JOIN pagos_empresas pe ON (e.empid =
> > pe.empid) INNER JOIN paquetes pq ON (pe.paqid = pq.paqid) WHERE
> > nt.categorias_nt_id = 8 AND pe.pagid = (SELECT pagid FROM
> > pagos_empresas INNER JOIN paquetes ON (pagos_empresas.paqid =
> > paquetes.paqid) WHERE pagos_empresas.empid = e.empid AND nt.tipo =
> > 860 AND nt.notareas_id = (SELECT max(tareas.notareas_id) FROM
> > cp2_notas_tareas tareas where tareas.empid = e.empid AND
> > to_char(DATE(tareas.fecha_vencimiento) ,'yyyy-mm') = 'PARAMETRO1
> > TIPO ANHO-MES' AND tareas.categorias_nt_id = 8 AND tareas.tipo = 860
> > ) ORDER BY pagos_empresas.pagid DESC LIMIT 1) AND
> > to_char(DATE(nt.fecha_vencimiento) ,'yyyy-mm') = 'PARAMETRO1 TIPO
> > ANHO-MES' ORDER BY nt.fecha_vencimiento, e.empresa ASC
> >
> >
> > A una vista pero no sé cómo hacer el pase del PARAMETRO1 TIPO
> > ANHO-MES
> >
> > Gracias por su ayuda.
> >
>
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org
> )
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>



-- 
Ing. Jorge A. González V.
Especialista de Base de Datos
Gerencia de Tecnología
Oficina (Máster): +58 (251) 232 16 34
Oficina (Directo): +58 (251) 250 43 99
*Móvil: *+584261534450
Fax: +58 (251) 231 77 64

Responder a