Problemas con COUNT

Hola experto gracias por atender mi pregunta
empiezo a conocer sql server y me he encontrado con un problema realice una consulta donde realizo union de tablas y obtengo la suma y hasta ese momento tdo bien  pero ahora solo quiero que me muestre el numero numero de filas que tengo en esa consulta realize pruebas y no coinciden mis resultados la consulta que tengo es la siguiente
SELECT Ctl_Areas.NombreArea, Ctl_Tramites.NombreCorto, SUM(SeguimientoTramite.Lote) AS Recibidos, Ctl_Tramites.CveRFTS
FROM SeguimientoTramite INNER JOIN
Ctl_Cliente ON SeguimientoTramite.IdCliente = Ctl_Cliente.idCliente RIGHT OUTER JOIN
Ctl_Tramites ON SeguimientoTramite.idTramite = Ctl_Tramites.idTramite LEFT OUTER JOIN
Ctl_Areas ON Ctl_Tramites.idCtlArea = Ctl_Areas.idArea
WHERE (SeguimientoTramite.Cancelado = 0) AND (SeguimientoTramite.fechaCaptura BETWEEN '1235973600729 ' AND '1236059999869 ')
GROUP BY Ctl_Areas.NombreArea, Ctl_Tramites.NombreCorto, Ctl_Tramites.CveRFTS
ORDER BY Ctl_Tramites.CveRFTS
con todo esto te mensiono que esta bien, pero ahora quiero saber el numero de filas que tengo en esa consulta, contandolas una por una se que obtengo 80 renglones y al utilizar count(*) me muestra 623 porq no puedo obtener el valor de 80?
¿Cómo tengo que utilizar count o hay otra manera de saberlo?

1 respuesta

Respuesta
1
Bueno en realidad tiene sentido que el COUNT te traiga muchas más, por que al usar el SUM te va a dar solo los valores distintos combinando las columnas que tienes en el GROUP BY. Osea si vez como un valor único la combinación de las columnas Ctl_Areas. NombreArea, Ctl_Tramites. NombreCorto, Ctl_Tramites. CveRFTS solo encontraras 80 y el SUM las agrupa, cosa que no hace el COUNT.
Ahora para saber cuantos registros tienes, pues depende de en donde estés ocupando el query, si estas trabajando con un lenguaje digamos Delphi al objeto query después de abrirlo le puedes sacar el numero de registros con un comando más o menos así "pQry.RecordCount;", ahora si estas haciéndolo en SQL directo o con un Stored Procedure, debes utilizar el comando de SQL @@ROWCOUNT, podrás encontrar la definición detallada en la ayuda de SQL.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas