Veran, tengo la siguiente query
Código SQL:
Ver original
SELECT TOP 100 tblCallEnd.CallListID, tblCallList.CLI, tblCallEnd.CreateDate, tblCallEnd.IsLost, tblCallEnd.SOLUCIONADO, tblCallEnd.TIEMPO, tblCallEnd.DestroyDate, tblHuntGroup.Name AS grupo, farmacia.farmacia AS farmacia, (SELECT SUM(DATEDIFF(SECOND, tbe.CreateDate, tbe.DestroyDate)) FROM tblCallEnd tbe WHERE tbe.CallListID = tblCallEnd.CallListID AND tbe.IEndFlag = 1 GROUP BY tbe.CallListID) AS TiempoTotal FROM tblCallEnd INNER JOIN tblCallList ON tblCallEnd.CallListID = tblCallList.CallListID LEFT OUTER JOIN tblHuntGroup ON tblCallEnd.hgid = tblHuntGroup.HGID LEFT OUTER JOIN farmacia ON farmacia.tfn = tblCallList.cli WHERE tblCallEnd.IsLost = 0 AND tblCallEnd.SOLUCIONADO IS NOT NULL AND DATEPART(yy, tblCallEnd.TIEMPO) = '2013' AND DATEPART(mm, tblCallEnd.TIEMPO) = '12' AND DATEPART(dd, tblCallEnd.TIEMPO) = '10' GROUP BY tblCallEnd.CallListID 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?