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

Contabilizar Encuestas Mysql (Urgente)

Estas en el tema de Contabilizar Encuestas Mysql (Urgente) en el foro de Mysql en Foros del Web. Problema con este query para contabilizar una encuesta: select b.texto_opcion as texto,COUNT(*) as total FROM respuestas a, estadisticas b where UCASE(a.mensaje_pet) like 'b.texto_opcion%' group by ...
  #1 (permalink)  
Antiguo 20/09/2005, 11:45
 
Fecha de Ingreso: mayo-2004
Ubicación: Av. FFAA, Caracas
Mensajes: 29
Antigüedad: 19 años, 11 meses
Puntos: 0
Contabilizar Encuestas Mysql (Urgente)

Problema con este query para contabilizar una encuesta:

select b.texto_opcion as texto,COUNT(*) as total
FROM respuestas a, estadisticas b
where UCASE(a.mensaje_pet) like 'b.texto_opcion%'
group by texto_opcion

La idea es que las opciones de la encuesta que estan en la tabla de ESTADISTICAS sean comparadas con los resultados de los usuarios que esta en la tabla RESPUESTAS... el usuario puede enviar la respuesta con un comentario porque llegan a la Base de Datos por mensajeria de texto y lo hay manera de que el usuario envia solo las opciones por defecto, por ejemplo: estan estas opciones 'a, b y c' y el usuario manda 'a saludos a todos' ó 'a, besos a todos', estos 2 registros forman parte de las respuestas pero con el query anterior no los conbabiliza... solo las opciones y respuestas identicas...

Espero que alguien me ayude o me de una solucion a este bendito problemita...

Gracias de antemano...
  #2 (permalink)  
Antiguo 20/09/2005, 11:58
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
No comprendo bien lo que queres hacer, así que voy a SUPONER lo siguiente:

En la tabla respuesta tenes un campo llamado mensaje_pet en el cual pueden existir los valores "a", "b" o "c". Si es así, necesitas saber si en la tabla estadisticas que contiene el campo texto_opcion, el primer caracter es "a", "b" o "c".

Si es así, el SELECT sería algo así:
Código PHP:
select b.texto_opcion as texto,COUNT(*) as total
FROM respuestas a
estadisticas b
where UCASE
(a.mensaje_pet) = SUBSTR(b.texto_opcion11)
group by texto_opcion 
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 20/09/2005, 12:09
 
Fecha de Ingreso: mayo-2004
Ubicación: Av. FFAA, Caracas
Mensajes: 29
Antigüedad: 19 años, 11 meses
Puntos: 0
Perdon me falto aclarar que el campo "mensaje_pet" de la tabla RESPUESTAS, es donde se almacena la respuesta de los usuarios, que pasa si el usuario manda como respuesta: "mi opcion es la A" ó "A es mi respuesta".... la cuestion es contabilizar estos dos resgistros como parte de la encuesta si las opciones son: A, B o C. almacenados en el campo "texto_opcion" de la tabla ESTADISTICAS....

Gracias nuevamente...
  #4 (permalink)  
Antiguo 20/09/2005, 13:09
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Ok, eso NO es 100% manejable ya que pueden existir varias letras A, B o C ya que una palabra puede que tenga esas letras.

por lo que vas a tener un margen de error algo grande y falso.

Por ejemplo...
"mi opcion es la A", esa frase tiene la letra C y la A
"creo que la buena es la A", ahi tenemos A, B y C

¿Donde va a quedar acumulado la respuesta correcta? no lo vas a poder controlar, o sea, eso es una muy mala normalización, estructuración y programación.

En ese caso tendrías que investigar las funciones de manejo de hileras de MySQL o en su defecto hacer una rutina de evaluación.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #5 (permalink)  
Antiguo 20/09/2005, 13:25
 
Fecha de Ingreso: mayo-2004
Ubicación: Av. FFAA, Caracas
Mensajes: 29
Antigüedad: 19 años, 11 meses
Puntos: 0
Viendolo desde tu punto de vista, tienes toda la razon voy a investigar de todas maneras mas al respecto... y muuuuuuchas gracias
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 11:35.