Hola Lista

Creo que se deben validar dos condiciones:

- Considera solo los ticket abiertos en meses anteriores al actual, pues
 este mes aun no se ha terminado...
- La fecha_termino  es null, significa que el ticket aun esta abierto.
- La fecha_termino es de un mes diferente (y se supone posterior) a la
fecha_ingreso,
el ticket se abrió en un mes y se cerro un mes posterior, por lo tanto
aun estaba abierto al finalizar el mes.

Esta seria la consulta:




SELECT TO_CHAR(fecha_ingreso,'YYYY-MM'), COUNT(*)
FROM
      (
          VALUES
  ('1','1','2014-01-01'::timestamp,'2014-01-02'::timestamp),   -- no
cumple, cerrado el mismo mes
  ('2','2','2014-01-02'::timestamp,null::timestamp),               --
cumple, aun abierto
  ('3','3','2014-01-05'::timestamp,'2014-02-01'::timestamp),   -- cumple,
cerrado el siguiente mes
  ('4','4','2014-02-05'::timestamp,'2014-02-10'::timestamp),   -- no
cumple, cerrado el mismo mes
  ('5','5','2014-02-28'::timestamp,'2014-03-01'::timestamp),   -- cumple,
cerrado el siguiente mes
  ('6','6','2014-12-01'::timestamp,null::timestamp)                -- no
cumple, abierto pero en el presente mes...

       ) AS tickets(id,numero,fecha_ingreso,fecha_termino)
WHERE
date_trunc('MONTH',fecha_ingreso)<date_trunc('MONTH',now()) AND -- solo
para los ticket abiertos en meses diferentes al actual
(
      fecha_termino IS NULL -- aun esta abierto
      OR to_char(fecha_ingreso,'YYYY-MM')<>to_char(fecha_termino,'YYYY-MM')
-- termino un mes diferente (y posterior) al de inicio osea estaba abierto
aun al fin de mes
)
GROUP BY 1


Faltaría considerar si el ticket  dura abierto 2 o mas meses pues debería
>  considerarse ademas para cada uno de los meses en los cuales permaneció
> abierto...






El 3 de diciembre de 2014, 5:38 p. m., raul andrez gutierrez alejo<
rauland...@gmail.com> escribió:

> Hola.
> seria algo asi.
>
> SELECT TO_CHAR(fecha_ingreso,'YYYY-MM') AS mes,
>        count(*)FROM tablaWHERE fecha_ingreso IS NOT NULL
>   AND fecha_termino IS NULLGROUP BY TO_CHAR(fecha_ingreso,'YYYY-MM')ORDER BY 
> TO_CHAR(fecha_ingreso,'YYYY-MM')
>
> nota:el order by genera mucha carga computacional
>
> El 3 de diciembre de 2014, 17:31, Aland Laines <aland.lai...@gmail.com>
> escribió:
>
> Hola Gilberto, los tickets no necesariamente son cerrados el mismo mes,
>> los que no son cerrado estan en null, pero quieren un historico mes a mes y
>> por año, yo al menos quisiera lograr la estadistica mes a mes del ultimo
>> año.
>>
>> Saludos,
>>
>>
>>     [image: --]
>> Aland Laines Calonge
>> [image: http://]about.me/aland.laines
>>    <http://about.me/aland.laines>
>>   *programador de aplicativos web*
>> Twitter: @lainessolutions
>> Comunidad CakePHP en Español Google+
>> <https://plus.google.com/communities/106077549014949879129>
>>
>> El 3 de diciembre de 2014, 17:02, Gilberto Castillo <
>> gilberto.casti...@etecsa.cu> escribió:
>>
>>>
>>>
>>> > Hola compañeros, tengo una consulta que me tiene trabado, tengo una
>>> tabla
>>> > de tickets:
>>> >
>>> > id  numero fecha_ingreso fecha_termino
>>> >
>>> > La consulta que me piden es cuantos tickets estuvieron activos (no
>>> fueron
>>> > finalizados) al final de cada mes.
>>>
>>> Supongo que todo el que tenga fecha_termino en null o algo así... aun
>>> esta
>>> abierto.
>>>
>>> ¿Un tickets, debe ser obligatoriamente cerrado en el mismo mes?
>>>
>>> Saludos,
>>> Gilberto Castillo
>>> La Habana, Cuba
>>>
>>> ---
>>> This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE
>>> running at host imx3.etecsa.cu
>>> Visit our web-site: <http://www.kaspersky.com>, <
>>> http://www.viruslist.com>
>>>
>>>
>>
>
>
> --
> Raul Andres Gutierrez Alejo
>



-- 
Cordialmente,

Ing. Hellmuth I. Vargas S.
Esp. Telemática y Negocios por Internet
Oracle Database 10g Administrator Certified Associate
EnterpriseDB Certified PostgreSQL 9.3 Associate

Responder a