Pregunta:
Fecha: 03-10-2017 11:29:30
(En Español)
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
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
Votos: 0 - Respuestas: 1 - Vistas: 10 Compartir en: Google Facebook Twitter LinkedIn Link
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
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
