Where de un campo creado por una subconsulta

29/12/2005 - 14:39 por Matías | Informe spam
Hola a todos, como se puede hacer para poner como condicion en el where el
valor de un campo creado por una subconsulta, algo así:

Select campo1, campo2, promedio = (Select AVG(Campo3))
From Mitabla
Where promedio > 6

claro que de esta manera me salta el mensaje 'la columna promedio no existe'

Saludos y mil gracias.

Preguntas similare

Leer las respuestas

#6 Alejandro Mesa
30/12/2005 - 00:06 | Informe spam
Matías,

Esas columnas no son retornadas en la tabla derivada, o las incluyes o usas
la columna claculada [alumno].


AMB



"Matías" wrote:

Lo solucione usando una consulta derivada, pero tengo un problema, no puedo
poner Order By Apellidos, Nombres
Como hago?

SELECT * FROM(
SELECT A.Apellidos+', '+ A.Nombres as Alumno, A.Legajo, A.NroDocumento,
N.IDAlumno, N.IDMateria,
M.Codigo, M.Nombre as Materia,
ROUND(((SELECT ROUND(AVG(CAST(N.Nota as FLOAT)),2)
FROM NOTAS N
WHERE N.IDEtapa = 1 AND N.IDMateria = 4 AND N.IDAlumno = A.IDAlumno
AND DATEPART(yyyy, N.FechaExamen) = DATEPART(yyyy, GETDATE()) AND A.Curso
= '1AM')
+
(SELECT ROUND(AVG(CAST(N.Nota as FLOAT)),2)
FROM NOTAS N
WHERE N.IDEtapa = 2 AND N.IDMateria = 4 AND N.IDAlumno = A.IDAlumno
AND DATEPART(yyyy, N.FechaExamen) = DATEPART(yyyy, GETDATE()) AND
A.Curso = '1AM'))/2, 2) PromedioFinal
FROM NOTAS N
INNER JOIN Materias M ON N.IDMateria = M.IDMateria
INNER JOIN Etapas E ON N.IDEtapa = E.IDEtapa
INNER JOIN Alumnos A ON N.IDAlumno = A.IDAlumno
WHERE DATEPART(yyyy, N.FechaExamen) = DATEPART(yyyy, GETDATE())
AND (N.IDEtapa = 1 or N.IDEtapa = 2) AND N.IDMateria = 4 AND A.Curso > '1AM'
GROUP BY A.Apellidos, A.Nombres, A.Legajo, A.NroDocumento, N.IDAlumno,
N.IDMateria, M.Codigo,
M.Nombre, A.IDAlumno, A.Curso, A.IDAlumno) AS prom
WHERE PromedioFinal < 6 -- si lo pongo aqui me dice columna invalida, si lo
pongo debajo del Gruop By me tira: The ORDER BY clause is invalid in views,
inline functions, derived tables

Gracias...



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida