Buenas tardes, tengo un inconveniente con unas subconsutas dentro de una consultas, con el order by , group by; ese problema se me había presentado en otras consultas con subconsultas parecidas y la solución es asignarle un alias a las consultas pero esta no ma ha salido es algo asi:
select …
From
(SELECT …
From
(SELECT …
From prueba_detalle as pd, pregunta as p, competencia as c, ambito as a,materia as m
where 1=1
and pd.codigo_pregunta = p.codigo
and p.codigo_competencia = c.codigo
and p.codigo_materia = m.codigo
and pd.codigo_prueba = 1
) as Nacional ,
(Select grado, Nro,100*round(sum(valor)/count(Nro),5) as PorcentajeCol
From
(Select prueba_detalle.grado, codigo_materia, prueba_detalle.codigo_prueba as prueba,
Nro,codigo_pregunta, pregunta.respuesta as correcta, substring(Respuestas,Nro,1) as respuesta,
(case when pregunta.respuesta=substring(Respuestas,Nro,1)then 1 else 0 end) as valor
From Resultados, prueba_detalle,pregunta
where 1=1
and Resultados.prueba = prueba_detalle.codigo_prueba
and Resultados.grado = prueba_detalle.grado
and prueba_detalle.codigo_pregunta = pregunta.codigo
and anno = 2009 and prueba = 1
and resultados.codigo_grupo = 100
) as resul
group by codigo_materia,grado, prueba, Nro,codigo_pregunta
having count(Nro)>0
) as Colegio
where 1=1
and Nacional.Nro = Colegio.Nro
and Nacional.grado = Colegio.Grado
order by Nacional.grado, Nacional.nro
) as total
group by grado
me gustaria que porfavor me colaboren