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

Duda sobre consulta

Estas en el tema de Duda sobre consulta en el foro de Bases de Datos General en Foros del Web. Hola! Estaba haciendo una consulta que de devuelva un numero total de servicios y me devuvelve una unica columna con la cantidad de servicios. Lo ...
  #1 (permalink)  
Antiguo 26/05/2010, 04:28
 
Fecha de Ingreso: mayo-2010
Mensajes: 3
Antigüedad: 13 años, 10 meses
Puntos: 0
Duda sobre consulta

Hola! Estaba haciendo una consulta que de devuelva un numero total de servicios y me devuvelve una unica columna con la cantidad de servicios. Lo que yo quiero es sumar esa columna, pero no se como hacerlo...

Mi consulta es:

SELECT Count(*)
FROM TbIncidencias AS i, TbClientes AS c, TbServAceptados AS s, TbServicios AS se, TbCentros AS ce
WHERE (((i.nI)=[s].[nI]) AND ((i.idCliente)=[c].[idCliente]) AND ((s.idServicio)=[se].[id]) AND ((ce.idCentro)=[i].[centro]) AND ((i.fechaA) Like '*03/2010*'))
GROUP BY ce.nombre
ORDER BY Count(ce.nombre) DESC;

y me devuelve:

Expr10000
477
349
323
....

Querria sumar todas esas cantidades pero no se puede hacer SUM(Count(*))

Un saludo!

Gracias!
  #2 (permalink)  
Antiguo 26/05/2010, 05:04
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Duda sobre consulta

Quítale el GROUP BY y te devolverá la cantidad total...
Ahora bien, si lo que necesitas es subtotales más total... eso es otra cosa. En ese caso debes usar WITH CUBE:
Código SQL:
Ver original
  1. SELECT ce.nombre, COUNT(*) Total
  2. FROM TbIncidencias i, TbClientes c, TbServAceptados s, TbServicios se, TbCentros ce
  3. WHERE
  4.     (((i.nI)=[s].[nI]) AND
  5.     ((i.idCliente)=[c].[idCliente]) AND
  6.     ((s.idServicio)=[se].[id]) AND
  7.     ((ce.idCentro)=[i].[centro]) AND
  8.     ((i.fechaA) LIKE '*03/2010*'))
  9. GROUP BY ce.nombre WITH CUBE
  10. ORDER BY COUNT(ce.nombre) DESC
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 26/05/2010, 05:19
 
Fecha de Ingreso: mayo-2010
Mensajes: 3
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Duda sobre consulta

Gracias , pero me exprese mal... queria poner esta consulta y me equivoque...

SELECT TOP 2 Count(*)
FROM TbIncidencias AS i, TbClientes AS c, TbServAceptados AS s, TbServicios AS se, TbCentros AS ce
WHERE (((i.nI)=[s].[nI]) AND ((i.idCliente)=[c].[idCliente]) AND ((s.idServicio)=[se].[id]) AND ((ce.idCentro)=[i].[centro]) AND ((i.fechaA) Like '*03/2010*'))
GROUP BY ce.nombre
ORDER BY Count(ce.nombre) DESC;


y que me devolviera la suma de las 2 cantidades primeras que me aparecen...
  #4 (permalink)  
Antiguo 26/05/2010, 05:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Duda sobre consulta

¿Por qué no usas la cláusula TOP X?, donde X es un número entero mayor a cero que indica la cantidad de registros devueltos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 26/05/2010, 07:57
 
Fecha de Ingreso: mayo-2010
Mensajes: 3
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Duda sobre consulta

Si ya uso la clausula TOP X y me devuelve X registros, mi intencion es sumar esos X registros y que se quede en solo un registro.

Etiquetas: access, count, sum
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 22:43.