SQL - ayuda

   
Vista:

ayuda

Publicado por Miguel Angel (1 intervención) el 22/03/2009 21:23:47
Necesito ayuda con una consulta:

tengo una tabla en la que estan almacenadas calificaciones de alumnos, esta tiene los siguientes campos idalumno, idmateria, calificacion y bimestre.

necesito hacer una consulta que me devuelva lo siguiente bimestre1, bimestre2, bimestre3, estos deberan contener la calificaciones de cada bimestre...

lo intente utilizando union all pero solo me devuelve bimestre1

mi consulta fue la siguiente

select calificaciones as "bimestre1" from calificaciones...
where bimestre=1
union all
select calificaciones as "bimestre2" from calificaciones...
where bimestre=2...
.
.
.

alguien me podria explicar como hacerlo

de antemano 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

RE:ayuda

Publicado por Ethan (16 intervenciones) el 23/03/2009 15:05:58
tomando en base tu consulta seria algo asi
select calificaciones as "bimestre1" , 0 bimestre2 from calificaciones...
where bimestre=1
union all
select 0 bimestre1 ,calificaciones as "bimestre2" from calificaciones...
where bimestre=2

explicacion en un union tienes que establecer valor para cada columna y cada subconsulta debe tener el mismo numero de columnas y del mismo tipo.

te pongo este otro ejemplo:

select
decode(bimestre,1,calificaciones,0) as bimestre1, decode(bimestre,2,calificaciones,0) as bimestre2, decode(bimestre,3,calificaciones,0) as bimestre3
from
calificaciones
esto te daria un resultado asi
bimestre1 bimestre2 bimestre 3
10 0 0
0 9 0
0 0 7

espero te sirva
sale estamos en contacto,
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