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