Hacer una consulta para una encuesta.

Jorge Rubiano
20 de Febrero del 2006
Hola amigos del foro, mi inquietud es la siguiente:
Estoy realizando una encuesta para, la cual cuenta con 28 puntos, estos los estosy guardando en una tabla llamda factores, cada campo esta llamado con el sufijo pre, seguido por el número de la pregunta(pre1....... pre28), cada uno con cuatro opciones de respuesta (Nivel 1,2,3 y 4), en los campos guardo son números, es decir cuando se elige el Nivel uno, guardo el número 1 y así sucesivamente, me piden sacar el porcentaje de cada pregunta en relación a cada una de los niveles, mí pregunta es la siguiente: ¿Qué tipo de consulta podría utilizar para hallar estos valores, por cada pregunta?.

Sé que existen funciones en Sql, que me permiten realizar estas acciones, pero en el momento no domino bien el lenguaje.

La verdad ya he probado con la clausula group by, pero no sé aún utilizarla bien, pido su ayuda, ya que no encontré manera alguna de plantear la consulta, espero una pronta respuesta y de antemano gracias por la ayuda prestada.

Jorge Rubiano.
[email protected]

Ricardo
20 de Febrero del 2006
Hola Jorge,

Es muy probable que existan opciones mas faciles pero lo primero que se me ocurre que puedes hacer es utilizar subconsultas. Por ejemplo:

select pre1, 100 * count(*) / (select count(*) from factores) as TPC
from factores
group by pre1

Esta consulta te sacara un listado de las distintas respuestas que se hayan dado a la pregunta pre1 indicando el tanto por ciento de cada una de ellas.

Si quieres ponerlo bonito puedes hacerle un cast a la segunda columna y añadirle un %. No he querido ponerlo para no liar la consulta mas de lo necesario.

Saludos,

Ricardo.