MySQL - Consulta SQL ??????

 
Vista:

Consulta SQL ??????

Publicado por JB (9 intervenciones) el 25/05/2005 14:21:11
Hola a tod@s...

Bueno mi problema es el siguiente tengo una base de datos con un tabla la cual me almacena los siguientes campos:

idnotas,materia,mes,alumno,grado,año,seccion,turno,lab1,lab2,lab3,lab4

La situacion es la siguiente: tengo que crear una consulta que me de los promedios de un trimestre (tres meses Febrero - Marzo - Abril), hasta el momento tengo el siguiente query.

SELECT materia,(lab1+lab2+lab3+lab4)/4 As promedio1
FROM notas
WHERE mes="Febrero" And [todas las condiciones que siguen]..
UNION
SELECT materia,(lab1+lab2+lab3+lab4)/4 As promedio2
FROM notas
WHERE mes="Marzo" And [todas las condiciones que siguen]..
UNION
SELECT materia,(lab1+lab2+lab3+lab4)/4 As promedio3
FROM notas
WHERE mes="Abril" And [todas las condiciones que siguen]..

Me lista la consulta perfectamente; PERO en forma vertical, por lo que cuando yo estoy queriendo desplegar los datos dentron de la pagina utilizando lo siguiente:

while (row_fetch_array($consulta)){
echo'
<td>'.$row["materia"].'</td><td>'.$row["promedio1"].'</td>';
}

Aun que le cambie el nombre al promedio y le ponga "promedio1" siempre me lista todos, por que todos aparecen en una sola linea, por la forma vertical y no me reconoce los demas campos, ya que si le pongo "promedio2" me da un error de "parse" y en otras ocaciones de "sintaxis", por lo que estoy quiendo saber si hay alguna forma de decirle a la consulta que se haga el "union" pero la haga como horizontal para que al momento de crear el "while" pueda encontar las demas columnas...
Por el momento se tiene esto:
------------------------------
materia - promedio1
------------------------------
Me lista el primer bloque de datos del mes de febrero.
Luego del segundo bloque de datos del mes de marzo
y por ultimo el bloque de datos del mes de abril

Por que busque que quede esta manera:
---------------------------------------------------------------------
Materias - Promedio1 - Promedio2 - Promedio3
Febrero Marzo Abril
---------------------------------------------------------------------
Entonces al momento de crear el "while" si encontraria tres columnas que mostrar....
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