Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Consutas y Subconsultas Sql Server 2005

Estas en el tema de Consutas y Subconsultas Sql Server 2005 en el foro de SQL Server en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 11/12/2009, 14:56
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 4 meses
Puntos: 0
Consutas y Subconsultas Sql Server 2005

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
  #2 (permalink)  
Antiguo 14/12/2009, 08:49
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Consutas y Subconsultas Sql Server 2005

Algunas observaciones:
1. Revisa tu subconsulta Colegio, creo que el group by esta mal.
2. No uses la antigua forma de join, usa INNER JOIN.
3. Usa alias en los nombres de las tablas.

Te recomiendo probar subconsulta por subconsulta, así encontraras donde esta el error mas facilmente.
Suerte!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:35.