Foros del Web » Programando para Internet » ASP Clásico »

Consulta SQL con Suma (No me sale)

Estas en el tema de Consulta SQL con Suma (No me sale) en el foro de ASP Clásico en Foros del Web. Bueno primero gracias por leer. Te trata de hallar mediante una instrucción SQL los enunciados de una tabla de encuestas y el total de sus ...
  #1 (permalink)  
Antiguo 02/11/2011, 11:15
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 13 años, 4 meses
Puntos: 6
Consulta SQL con Suma (No me sale)

Bueno primero gracias por leer.

Te trata de hallar mediante una instrucción SQL los enunciados de una tabla de encuestas y el total de sus votos.

Esta es la tabla:


Id..CoEn...EnEn................................... ...CoOp...EnOp..............Votos....FeUlVo....... ....ENselec
1...1001...¿Qué prefieres, Windows XP o Windows 7?...1......Windows XP........6........22/02/2006
2...1001...¿Qué prefieres, Windows XP o Windows 7?...2......Windows 7.........24.......22/02/2006
3...1002...Elige tu procesador: Intel o AMD..........1......Intel.............5
4...1002...Elige tu procesador: Intel o AMD..........2......AMD...............1
10..1003...¿Qué Antivirus Prefieres?.................1......Norton.......... ..1.........................portada
11..1003...¿Qué Antivirus Prefieres?.................2......Bitdefender..... ..0.........................portada
12..1003...¿Qué Antivirus Prefieres?.................3......McAfee.......... ..5.........................portada
13..1003...¿Qué Antivirus Prefieres?.................4......Otros........... ..5.........................portada


Campos:
Id: Id autonumérico
CoEn: código de la encuesta
EnEn: Enunciado de la encuesta
CoOp:Código opción
EnOp: Enunciado opción
Votos: votos totales de la opción
FeUlVo: Fecha último voto (ya no uso este campo)
ENselec:Encuesta seleccionada para la portada.


Bueno, primero decir que sé que no es la estructura más indicada, pero me molesta tener que crear muchas tablas y no tenía mucho tiempo cuando hice el diseño de la tabla en 2005.

¿Qué quiero hacer?

Pues necesito una consulta para la página principal de las encuestas en la que me aparezcan todos los enunciados de las encuestas y el total de votos.

Es decir, siguiendo como patrón la tabla anterior, necesito que la consulta me devuelva esto:


CoEn...EnEn......................................V otos_Totales
1001...¿Qué prefieres, Windows XP o Windows 7?...30
1002...Elige tu procesador: Intel o AMD..........6
1003...¿Qué Antivirus Prefieres?.................11


Votos_Totales debe ser un campo calculado con SUM, pero no tengo manera de crear la consulta, la estoy intentando hacer con Access, pero en la mayoría de las veces me dice que lo que he puesto es demasiado complejo para evaluar.

Última edición por PabloManuel; 02/11/2011 a las 11:23
  #2 (permalink)  
Antiguo 02/11/2011, 12:08
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 13 años, 4 meses
Puntos: 6
Respuesta: Consulta SQL con Suma (No me sale)

Solucionado:

Código SQL:
Ver original
  1. SELECT SUM(Tencuestas.Votos) AS Expr1, Tencuestas.EnEn
  2. FROM Tencuestas
  3. GROUP BY Tencuestas.coen, Tencuestas.EnEn;
  #3 (permalink)  
Antiguo 03/11/2011, 05:01
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 13 años, 4 meses
Puntos: 6
Respuesta: Consulta SQL con Suma (No me sale)

Bueno, ahora necesito otra consulta para mostrar la encuesta.

Al mostrar la encuesta muestro una barra de porcentaje con el total de votos por opción y necesito una consulta con toda la encuesta y el total de votos. La consulta de la encuesta sería esta:

Código SQL:
Ver original
  1. SELECT Tencuestas.CoEn, Tencuestas.EnEn, Tencuestas.CoOp, Tencuestas.EnOp, Tencuestas.Votos
  2. FROM Tencuestas
  3. WHERE (((Tencuestas.CoEn)=1003));

Y me devuelve:

oEn___EnEn________________________CoOp___EnOp_____ ____Votos
1003___¿Qué Antivirus Prefieres?___1______Norton_______1
1003___¿Qué Antivirus Prefieres?___2______Bitdefender__0
1003___¿Qué Antivirus Prefieres?___3______McAfee_______5
1003___¿Qué Antivirus Prefieres?___4______Otros________5


Pero claro, necesito la sumatorio de el campo votos para saber el porcentaje con la siguiente operación:

Votos_Opción * 100 / Total_Votos

He añadido a la anterior consulta en el Select: Sum([Votos]) AS Total_Votos

Pero me da el siguiente error:

Ha intentado ejecutar una consulta que no incluye la expresión especificada 'CoEn' como parte de una función de agregado.
  #4 (permalink)  
Antiguo 06/11/2011, 21:32
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 3 meses
Puntos: 8
Respuesta: Consulta SQL con Suma (No me sale)

te falta el "group by"
  #5 (permalink)  
Antiguo 07/11/2011, 08:19
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 13 años, 4 meses
Puntos: 6
Respuesta: Consulta SQL con Suma (No me sale)

Cita:
Iniciado por pcarvajal Ver Mensaje
te falta el "group by"
Lo he probado de 20 maneras con el Group y como mucho he conseguido hacer sumas parciales, no me sale.
  #6 (permalink)  
Antiguo 07/11/2011, 09:42
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 3 meses
Puntos: 8
Respuesta: Consulta SQL con Suma (No me sale)

Trata asi:

SELECT Tencuestas.CoEn, Tencuestas.EnEn, Tencuestas.CoOp, Tencuestas.EnOp, Tencuestas.Votos, Sum(Tencuestas.Votos) AS Total_Votos
FROM Tencuestas
WHERE (((Tencuestas.CoEn)=1003))
GROUP BY Tencuestas.CoEn, Tencuestas.EnEn, Tencuestas.CoOp, Tencuestas.EnOp, Tencuestas.Votos

Espero te sirva

Saludos
  #7 (permalink)  
Antiguo 08/11/2011, 07:54
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 13 años, 4 meses
Puntos: 6
Respuesta: Consulta SQL con Suma (No me sale)

Esta misma tarde lo probaré (espero)

Ahora lo que tengo es:

MoveFirst
Do while not eof
visitas=visitas+rs!visitas
Movenext
loop

A ver que me dice el access.

Etiquetas: select, sql, 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 20:44.