Hola tengo una tabla usuario y una tabla evaluacion ... cada usuario da muchas evaluaciones pero lo que quiero capturar en mi consulta es que me arroje los datos del usuario entre fechas que yo proporciono y el nivel que alcanzo en la ultima evaluacion ... intente hacerlo con un MAX(idEvaluacion) .... o el MAX(fechaDeEvaluacion) pero naa ... les paso mi consulta
SELECT DISTINCT nombres, appaterno + ' ' + apmaterno As Apellidos, login, EVALUACION.nivel,
CONVERT(VARCHAR(9), finscripcion, 6) AS finInscripción
FROM usuario LEFT OUTER JOIN EVALUACION
ON USUARIO.login = EVALUACION.usuario
WHERE (finscripcion > cast('2010-15-10' AS DATETIME) AND
finscripcion < cast('2010-17-11' AS DATETIME))
/*AND aca va el problema quiero que jale segun usuario.login el ultimo nivel que alcanzo de todas sus evaluaciones*/
AND exists (select max(codevaluacion) as codevaluacion, usuario from EVALUACION
group by usuario) ---no es lo que quiero
La estructura de la tabla evaluacion:
tabla evaluacion
--------------------
codevaluacion
usuario (email del usuario)
nivel
inicio
totalpreg
totalparaAprobar
fin
totalrptaOk
La estructura de la tabla usuario:
tabla usuario
--------------------
codusuario
login (email del usuario)
clave
appaterno
apmaterno
nombres
finscripcion
gracias a todos, no entiendo mi enredo ... pero espero me ayuden ... gracias!
PD: tambien probe con el TOP 1 de evaluacion agrupando por usuario pero naa porque luego en la coulsta tengo que ponerle un ... and exits (select top 1 ...) ...