Título: agrupar resultados de tres tablas Publicado por: vhugo_rf en 5 Febrero 2014, 16:44 pm 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 (http://delhugo.hostzi.com/prueba/img/tengo.jpg) y necesito los datos así (http://delhugo.hostzi.com/prueba/img/necesito.jpg) me pueden ayudar por favor, muchas gracias Título: Re: agrupar resultados de tres tablas Publicado por: 1mpuls0 en 7 Febrero 2014, 20:35 pm Utiliza subconsultas.
Coloca el diseño exacto de tus tablas y te ayudo, junto con algunos datos de ejemplo. Título: Re: agrupar resultados de tres tablas Publicado por: Nakatsukasa Itero en 8 Febrero 2014, 05:43 am en primera te sale así porque solo pides que te salgan 3 columnas
Código: bl.bloque as 'bloque', ROUND(avg(rp.respuesta) , 2 ) as 'promedio', rp.relacion as 'relacion' Código: bl.bloque as 'bloque', ROUND(avg(rp.respuesta) , 2 ) as 'promedio', rp.relacion as 'relacion' ROUND(avg(rp.respuesta) , 2 ) as 'promedio', rp.relacion as 'relacion' la idea que me viene a la cabeza es que primero hagas una consulta para obtener solo los row (la parte de bloque) luego con una anidación en join (que ciertamente no lo uso, yo soy más abcc: altas bajas cambios consultas; pero más cimples sin taanta complicación sql) hacer la consulta que se tome el promedio y relación cuando bloque sea `bloque`, pero el problema sería en que las columnas se toman con solo x regustros, luego las siguientes columnas a partir de los registros que no fueron tomados en cuanta hasta los siguientes, es pues como hacer una segmentación de los registros que se tienen, en cuy caso si siempre son 15 columnas puedes hacer se que cuenten de x a y, luego de (y+1) a (y+1)+incremento y así pero es en la parte de "AS prom..." Título: Re: agrupar resultados de tres tablas Publicado por: vhugo_rf en 14 Febrero 2014, 17:20 pm Utiliza subconsultas. Coloca el diseño exacto de tus tablas y te ayudo, junto con algunos datos de ejemplo. Hola, pongo la estructura de mis tablas Código:
sigo sin poder, ya intente con subconsultas y nada, espero me puedas ayudar. Muchas gracias |