Nueva pregunta

Pregunta:

Fecha: 03-10-2017 11:29:30 (En Español)

problemas con setencias sql para mostrar null[No resuelta]

Estimados,

Tengo una encuesta con una tabla Preguntas y una respuesta que están enlazadas.
La tabla pregunta tiene
id_pregunta, nombre, id_dimension_p
La tabla respuesta tiene
id_respuesta, tipo_respuesta(1=no aplica, 2= muy en desacuerdo, 3 = en desacuerdo, 4 = en acuerdo, 5 = muy en acuerdo),id_pregunta_r(foránea)

tengo respondida 4 encuesta para poder graficar los datos y necesito mostrar un tabla con valores null para poder graficar en highcharts en un gráfico de barra 100% apilada

Mi problema que tengo esta sentencia

SELECT preguntas.id_pregunta,respuesta.tipo_respuesta,
sum(IF (respuesta.tipo_respuesta is null ,0,1))  AS total_com
FROM preguntas 
LEFT JOIN respuesta
ON preguntas.id_pregunta=respuesta.id_pregunta_r
GROUP BY preguntas.id_pregunta,respuesta.tipo_respuesta


y eso me arroja asi los datos

id_pregunta_r tipo_respuesta total_com
1 1 2
1 3 1
1 5 1
2 2 2
2 3 1
2 4 1


y lo que necesito que arroje los null también para poder graficar:

id_pregunta_r tipo_respuesta count
1 1 2
1 2 0
1 3 1
1 4 0
1 5 1
2 1 0
2 2 2
2 3 1
2 4 1
2 5 0

cualquier orientación o ayuda se agradece
saludos
Etiquetas: MySQL - PHP - PHP JSON - PHP MySQLi Votos: 0 - Respuestas: 1 - Vistas: 10 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 14-11-2017 09:11:57 Crea una tabla adicional con los tipos de respuesta y luego haces un inner join a esta tabla primero

    Tabla tipo_respuesta(id_tipo, nombre)
    1=no aplica, 2= muy en desacuerdo, 3 = en desacuerdo, 4 = en acuerdo, 5 = muy en acuerdo

    SELECT 
    	preguntas.id_pregunta,
    	respuesta.tipo_respuesta,
    	SUM(IF(respuesta.tipo_respuesta IS NULL, 0, 1)) AS total_com
    FROM preguntas 
    	INNER JOIN tipo_respuesta ON 1 = 1
    	LEFT JOIN respuesta 
    		ON preguntas.id_pregunta=respuesta.id_pregunta_r 
    		AND respuesta.tipo_respuesta = tipo_respuesta.id_tipo
    GROUP BY preguntas.id_pregunta, tipo_respuesta.id_tipo
    ORDER BY preguntas.id_pregunta, tipo_respuesta.id_tipo
    
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com