Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Alguna forma de Mejorar esta consulta?

Estas en el tema de Alguna forma de Mejorar esta consulta? en el foro de SQL Server en Foros del Web. La idea es hacer una consulta donde me muestren los mensajes enviados y no enviados en un rango de fecha, cada fila debe contener el ...
  #1 (permalink)  
Antiguo 04/04/2011, 12:46
 
Fecha de Ingreso: abril-2011
Mensajes: 1
Antigüedad: 13 años, 1 mes
Puntos: 0
Alguna forma de Mejorar esta consulta?

La idea es hacer una consulta donde me muestren los mensajes enviados y no enviados en un rango de fecha, cada fila debe contener el detalle de ese dia.

estoy usando SQL Server 2008
tabla = BZ_Mensaje
campo con la fecha = FechaHoraAplicacionEstado
campo con el estatus del mensaje = CodigoEstadoMensaje

2 = enviados
3 = no enviados


Esta consulta muestra la sumatoria de mensajes enviados y no enviados en el rango de las fechas, pero lo que necesito es el detalle diario.

--------------------------------------------------------
Consulta

SELECT

YEAR(FechaHoraAplicacionEstado) AS ano, -- año
MONTH(FechaHoraAplicacionEstado) AS mes,
DAY(FechaHoraAplicacionEstado) AS dia,

(SELECT COUNT(*) FROM BZ_Mensaje WHERE CodigoEstadoMensaje = 2 AND
YEAR(FechaHoraAplicacionEstado) = 2011 AND
MONTH(FechaHoraAplicacionEstado)= 03 AND
DAY(FechaHoraAplicacionEstado) = 27) AS enviados,

(SELECT COUNT(*) FROM BZ_Mensaje WHERE CodigoEstadoMensaje = 8 AND
YEAR(FechaHoraAplicacionEstado) = 2011 AND
MONTH(FechaHoraAplicacionEstado)= 03 AND
DAY(FechaHoraAplicacionEstado) = 27) AS no_enviados

FROM BZ_Mensaje

WHERE

YEAR(FechaHoraAplicacionEstado) = 2011 AND
MONTH(FechaHoraAplicacionEstado)= 03 AND
DAY(FechaHoraAplicacionEstado) = 27

GROUP BY

YEAR(FechaHoraAplicacionEstado),
MONTH(FechaHoraAplicacionEstado),
DAY(FechaHoraAplicacionEstado)

---------------------------------------------------------------------
Resultado de la consulta
ano mes dia enviados no_enviados
2011 3 25 224398 36543
2011 3 26 224398 36543

---------------------------------------------------------------------
Resultado esperado y/o deseado

ano mes dia enviados no_enviados
2011 3 25 119331 24971
2011 3 26 105067 11572
  #2 (permalink)  
Antiguo 04/04/2011, 12:53
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Alguna forma de Mejorar esta consulta?

Debes hacer tu count, mediante un CASE y no hacer un conteo por cada tipo de mensaje.
__________________
MCTS Isaias Islas

Etiquetas: mejorar, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:50.