MySQL - agrupar resultados de tres tablas en horizontal

   
Vista:

agrupar resultados de tres tablas en horizontal

Publicado por hugo (1 intervención) el 05/02/2014 19:14:44
Hola, tengo una base de datos con tres tablas, y necesito el promedio de cada bloque, tengo la siguiente consulta, pero me pone todo como lista y lo necesito como tabla uno frente del otro, adjunto imagenes.

SELECT bl.bloque as 'bloque', ROUND(avg(rp.respuesta) , 2 ) as 'promedio', rp.relacion as 'relacion'
FROM respuestas rp
inner join bloque bl
on rp.id_bloque = bl.id_bloque
inner join pregunta pr
on rp.id_pregunta = pr.id_pregunta
where rp.id_encuesta = 1
and rp.evaluado = 2
and rp.relacion in (select id_relacion from relacion)
and pr.activa = 1
and pr.eliminada = 0
group by rp.relacion, rp.id_bloque;

La consulta anterior arroja lo siguiente


y necesito los datos así




me pueden ayudar por favor, muchas gracias

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

agrupar resultados de tres tablas en horizontal

Publicado por Juan Manuel Castañeda (59 intervenciones) el 10/02/2014 01:27:20
SELECT bl.bloque as 'bloque', ROUND(avg(rp.respuesta) , 2 ) as 'promedio', rp.relacion as 'relacion', bl1.bloque as 'bloque', ROUND(avg(rp1.respuesta) , 2 ) as 'promedio', rp1.relacion as 'relacion'
FROM respuestas rp,respuestas rp1
inner join bloque bl
on rp.id_bloque = bl.id_bloque
inner join pregunta pr
on rp.id_pregunta = pr.id_pregunta
inner join bloque bl1
on rp1.id_bloque = bl1.id_bloque
inner join pregunta pr
on rp1.id_pregunta = pr.id_pregunta
where rp.id_encuesta = 1
and rp.evaluado = 2
and rp.relacion in (select id_relacion from relacion)
and pr.activa = 1
and pr.eliminada = 0
and rp.relacion=1
and rp1.realcion=2
group by rp.relacion, rp.id_bloque,rp1.relacion, rp1.id_bloque;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar