Ver Mensaje Individual
  #5 (permalink)  
Antiguo 01/09/2012, 14:41
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 9 meses
Puntos: 300
Respuesta: Conteo de registros

Creo que has dado datos erróneos, porque los primeros, los referidos al codigo 10 no están agrupados por código, mientras que los del codigo 20 sí.
Opino también que quizás la mejor solución es con programación, sobre todo si las preguntas tienen más de dos posibles respuestas. Además, yo me replantearía la estructura de la base, aunque si ya está hecha, te propongo estas consultas...
En cualquier caso estas consultas podrían ayudarte a entender la lógica:
si quieres datos separados por códigos:
SELECT codigo, SUM( IF( pregunta1 = 'e', 1, 0 ) ) Pregunta1e, SUM( IF( pregunta1 = 'b', 1, 0 ) ) Pregunta1b, SUM( IF( pregunta2 = 'e', 1, 0 ) ) Pregunta2e, SUM( IF( pregunta2 = 'b', 1, 0 ) ) Pregunta2b, SUM( IF( pregunta3 = 'e', 1, 0 ) ) Pregunta3e, SUM( IF( pregunta3 = 'b', 1, 0 ) ) Pregunta3b, SUM( IF( pregunta4 = 'e', 1, 0 ) ) Pregunta4e, SUM( IF( pregunta4 = 'b', 1, 0 ) ) Pregunta4b, SUM( IF( pregunta5 = 'e', 1, 0 ) ) Pregunta5e, SUM( IF( pregunta5 = 'b', 1, 0 ) ) Pregunta5b
FROM mitabla
GROUP BY codigo

Si son datos generales sin importar el código
SELECT SUM( IF( pregunta1 = 'e', 1, 0 ) ) Pregunta1e, SUM( IF( pregunta1 = 'b', 1, 0 ) ) Pregunta1b, SUM( IF( pregunta2 = 'e', 1, 0 ) ) Pregunta2e, SUM( IF( pregunta2 = 'b', 1, 0 ) ) Pregunta2b, SUM( IF( pregunta3 = 'e', 1, 0 ) ) Pregunta3e, SUM( IF( pregunta3 = 'b', 1, 0 ) ) Pregunta3b, SUM( IF( pregunta4 = 'e', 1, 0 ) ) Pregunta4e, SUM( IF( pregunta4 = 'b', 1, 0 ) ) Pregunta4b, SUM( IF( pregunta5 = 'e', 1, 0 ) ) Pregunta5e, SUM( IF( pregunta5 = 'b', 1, 0 ) ) Pregunta5b
FROM mitabla

Última edición por jurena; 01/09/2012 a las 15:14