none
CONSULTA A SQL NO AGRUPA LOS DATOS RRS feed

  • Pregunta

  • Tengo una BD llamada MANTENCION con una Tabla llamada Ingreso con las siguientes columnas:

    • Fecha(date)
    • Familia(Varchar50)
    • Tiempo(time0)

    Por lo cual estoy realizando la siguiente consulta a SQL SERVER 2012

    USE MANTENCION
    SELECT  UPPER(DATENAME(MONTH,FECHA)) AS MES, FAMILIA,COUNT(FAMILIA) AS [N° DE EVENTOS],
    SUM(DATEDIFF(MINUTE,0,TIEMPO)) AS [TOTAL MINUTOS]
    FROM Ingreso
    WHERE MONTH(FECHA)= '11'
    GROUP BY FECHA,FAMILIA

    La cual me devuelve los siguientes datos

    Aqui viene mi problema, ya que en la parte de familia deberia salir un Registro para BANDEJERA y en el N° DE EVENTOS 3

    Pero no logro conseguir ese resultado

    domingo, 10 de diciembre de 2017 22:56

Respuestas

  • ... Aquí viene mi problema, ya que en la parte de familia debería salir un Registro para BANDEJERA y en el N° DE EVENTOS 3

    Concéntrate en la cláusula GROUP BY, nota que le estás indicando que agrupe por la columna 'FECHA' y de seguro tienes tres fechas distintas en noviembre, debes indicarle que deseas agrupar por el mes, no por el día.

    USE MANTENCION;
    GO
    SELECT 
        UPPER(DATENAME(MONTH, MAX(FECHA))) AS MES, 
        FAMILIA, 
        COUNT(FAMILIA) AS [N° DE EVENTOS],
        SUM(DATEDIFF(MINUTE, 0, TIEMPO)) AS [TOTAL MINUTOS]
    FROM Ingreso
    WHERE MONTH(FECHA) = '11'
    GROUP BY MONTH(FECHA), FAMILIA;
    GO

    • Marcado como respuesta El_vena domingo, 10 de diciembre de 2017 23:24
    domingo, 10 de diciembre de 2017 23:06