Oracle - Estadisticas mediante consultas

 
Vista:
sin imagen de perfil

Estadisticas mediante consultas

Publicado por Alejandro (2 intervenciones) el 10/04/2018 12:21:30
Hola a todos, tengo la siguiente consulta:

select g.codigo, g.nombre, trunc(e.fecha), e.estado
from grupo g, envio e
where g.id = e.id_grupo

En mi aplicación tengo definidos una serie de grupos (asociacion segun mi negocio) y a esos grupos asocio paquetes de envio. Según la consulta anterior, en la tabla envio, el campo fecha registra la fecha/hora a la que se intenta realizar el envio y el campo estado guarda el estado en el que esta el envio.

El campo estado puede tener los valores 0 (pendiente de enviar), 1 (enviado) o 2 (error).

Mi idea es agrupar por todos los campos que tengo en la select, obteniendo al final un registro para cada grupo/dia y sustituir el campo estado por 3 (estado_0, estado_1 y estado_2) que serían conteos del numero de registros que tienen cada valor.

No se si me he explicado bien... sería posible hacer esto ???
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 499
Oro
Ha mantenido su posición en Oracle (en relación al último mes)
Gráfica de Oracle

Estadisticas mediante consultas

Publicado por Rafael (328 intervenciones) el 10/04/2018 14:39:30
SI es posible...

Prueba algo asi ...
1
2
3
4
5
6
7
select g.codigo, g.nombre, trunc(e.fecha),
   sum(case e.estado when e.estado = 0 then 1 else 0 end) estado_0,
   sum(case e.estado when e.estado = 1 then 1 else 0 end) estado_1,
   sum(case e.estado when e.estado = 2 then 1 else 0 end) estado_2
from grupo g, envio e
where g.id = e.id_grupo
group by g.codigo, g.nombre, trunc(e.fecha),


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Estadisticas mediante consultas

Publicado por Alejandro (2 intervenciones) el 11/04/2018 09:50:06
Muchas gracias, me vino perfecto para lo que queria.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar