Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/12/2013, 07:17
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Agrupar query por una unica columna

Saludos

Veran, tengo la siguiente query

Código SQL:
Ver original
  1. SELECT TOP 100 tblCallEnd.CallListID,
  2.                tblCallList.CLI,
  3.                tblCallEnd.CreateDate,
  4.                tblCallEnd.IsLost,
  5.                tblCallEnd.SOLUCIONADO,
  6.                tblCallEnd.TIEMPO,
  7.                tblCallEnd.DestroyDate,
  8.                tblHuntGroup.Name AS grupo,
  9.                farmacia.farmacia AS farmacia,
  10.  
  11.   (SELECT SUM(DATEDIFF(SECOND, tbe.CreateDate, tbe.DestroyDate))
  12.    FROM tblCallEnd tbe
  13.    WHERE tbe.CallListID = tblCallEnd.CallListID
  14.      AND tbe.IEndFlag = 1
  15.    GROUP BY tbe.CallListID) AS TiempoTotal
  16. FROM tblCallEnd
  17. INNER JOIN tblCallList ON tblCallEnd.CallListID = tblCallList.CallListID
  18. LEFT OUTER JOIN tblHuntGroup ON tblCallEnd.hgid = tblHuntGroup.HGID
  19. LEFT OUTER JOIN farmacia ON farmacia.tfn = tblCallList.cli
  20. WHERE tblCallEnd.IsLost = 0
  21.   AND tblCallEnd.SOLUCIONADO IS NOT NULL
  22.   AND DATEPART(yy, tblCallEnd.TIEMPO) = '2013'
  23.   AND DATEPART(mm, tblCallEnd.TIEMPO) = '12'
  24.   AND DATEPART(dd, tblCallEnd.TIEMPO) = '10'
  25. GROUP BY tblCallEnd.CallListID
  26. ORDER BY tblCallEnd.TIEMPO DESC

Esta query, a pesar de darme el siguiente error:

La columna 'tblCallList.CLI' de la lista de selección no es válida, porque no está contenida en una función de agregado ni en la cláusula GROUP BY

Si elimino el group by, me saca una lista de registros de llamadas, pero necesito agrupar los resultados por la columna tblCallList.CallListID con el fin de que unicamente me muestre un registro por cada CallListID

Como puedo hacer esto en sql server?