Hola Virginia, hasta donde se no conozco las vistas con parametros en PostgreSQL , pero puedes usar otras opciones como crear una funcion con esa query dentro y le pasas a la funcion dicho parametro y luego llamas a esa funcion desde PHP
con un:
 SELECT * FROM tu_funcion(PARAMETRO1 TIPO ANHO-MES)

O te creas la vista sin ese filtro en el WHERE y agregas un atributo( to_char(DATE(nt.fecha_vencimiento) ,'yyyy-mm') ) a tu resultado y luego desde tu app en PHP la llamas
SELECT * FROM tu_vista where tu_atributo=PARAMETRO1 TIPO ANHO-MES

Saludos



On 06/04/16 12:03, Virginia wrote:
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

Responder a