Re: tabla que se consulta sobre si misma

From: "Eduardo Arenas C(dot)" <edomax(at)gmail(dot)com>
To: Virginia <mavir78(at)gmail(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: tabla que se consulta sobre si misma
Date: 2014-06-09 23:21:06
Message-ID: CAEe4h9o4Ak_kO8PmGx_e+BmqOg4zn8tfs=MAZvCH+b641B2Ejg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Virgina, prueba esto debería servir

select a.*
,(select b.fecha_registro
from tareas_notas as b
where b.tipo=2
and b.categorias_nt_id=100
and b.fecha_registro between '20140501' and '20140531'
and a.empid = b.empid
order by 1 desc limit 1
) as ultima_nota_fecha
,(select b.descripcion
from tareas_notas as b
where b.tipo=2
and b.categorias_nt_id=100
and b.fecha_registro between '20140501' and '20140531'
and a.empid = b.empid
order by 1 desc limit 1
) as ultima_nota_descripcion
from
(select distinct a.empid
from tareas_notas as a
where fecha_registro between '20140501' and '20140531') as a

saludos

El 5 de junio de 2014, 12:23, Virginia<mavir78(at)gmail(dot)com> escribió:

>
> Buenas tardes foro.
>
> Les escribo para ver si me pueden aportar ideas sobre cómo resolver el
> enredo que tengo con consultas sobre una tabla que almacena registros
> "padres" e "hijos" simultáneamente.
> La tabla es la siguiente:
>
> tareas_notas
> (
> notareas_id serial NOT NULL,
> empid integer,
> fecha_registro
> fecha_ocurrencia
> responsable integer,
> supervisor integer,
> fecha_vencimiento, -- Fecha tope para realizar la tarea
> status_id integer, -- Controla el estatus de las tareas. Las notas se
> consideran mas una observación, no deriva una acción secundaria
> tarea_id integer, -- id de la tarea padre
> tipo integer, -- indica si el registro es nota o tarea según el valor
> (libreria valores)
> descripcion text,
> user_creador integer,
> categorias_nt_id integer,
> relacion_nt integer,
> user_realiza integer, -- Puede ser el responsable u otro de la
> coordinación
> fecha_cierre timestamp without time zone, -- fecha de cierre de la
> tarea,
> no_renovacion integer, -- id del motivo de la no renovación, el valor
> viene de tabla motivos
> CONSTRAINT tareas_notas_pkey PRIMARY KEY (notareas_id)
> )
>
> Les pongo en contexto:
> Una nota o una tarea, solo existen si están "amarradas" a una empresa.
> En un mes, (tiempo máximo en que se monitorea la gestión de tareas) puede
> haber mas de una tarea para la misma empresa.
> Un registro puede ser de tipo 1: tarea o tipo 2: nota
> Una tarea debe tener una nota asociada como indicativo de que ésa tarea
> fue realizada.
> Una nota que es un cierre de una tarea, es de tipo 2 con tarea_id distinto
> de 0.
> Una nota que se agrega como una simple observación es de tipo 2 con
> tarea_id = 0.
> Una tarea, es registrada con un id de categoria y a lo largo del mes, éste
> id puede variar.
>
> Ahora bien, en un principio, lo que no consigo resolver es cómo obtener la
> última tarea del mes con categoria 100 para la empresa X.
> ¿Alguien me da una idea?
>
> Gracias por la ayuda que puedan prestarme
>

--
Eduardo Arenas Castillo.
+56 9 6629 1618

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Anthony Rafael Sotolongo León 2014-06-10 01:30:49 Re: Problema de espacio en disco duro postgres sobre windows
Previous Message jvenegasperu . 2014-06-09 15:39:10 Problema de espacio en disco duro postgres sobre windows