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

Ayuda group by, max en subconsulta

Estas en el tema de Ayuda group by, max en subconsulta en el foro de SQL Server en Foros del Web. Hola tengo una tabla usuario y una tabla evaluacion ... cada usuario da muchas evaluaciones pero lo que quiero capturar en mi consulta es que ...
  #1 (permalink)  
Antiguo 02/12/2010, 10:05
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 11 meses
Puntos: 2
Ayuda group by, max en subconsulta

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 en una fecha que yo proporciono y el nivel que alcanzo el 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
  #2 (permalink)  
Antiguo 02/12/2010, 10:33
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 3 meses
Puntos: 39
Respuesta: Ayuda group by, max en subconsulta

Prueba asi:
Código SQL:
Ver original
  1. SELECT DISTINCT nombres, appaterno + ' ' + apmaterno AS Apellidos, login, E.nivel,
  2. CONVERT(VARCHAR(9), finscripcion, 6) AS finInscripci&#243;n
  3. FROM usuario U
  4. LEFT OUTER JOIN (
  5.     SELECT E1.*
  6.     FROM EVALUACION E1
  7.     INNER JOIN (
  8.         SELECT usuario, MAX(codevaluacion) codevaluacion
  9.         FROM EVALUACION
  10.         GROUP BY usuario
  11.     ) E2 ON E1.usuario = E2.usuario AND E1.codevaluacion = E2.codevaluacion
  12. ) E ON U.login = E.usuario
  13. WHERE finscripcion > '20101015' AND finscripcion < '20101117'
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 02/12/2010, 11:09
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 11 meses
Puntos: 2
De acuerdo Respuesta: Ayuda group by, max en subconsulta

Gracias flaviovich, primera vez que posteo ... no pense recibir una solucion tan rapida, gracias otra vez XD!!!!
  #4 (permalink)  
Antiguo 02/12/2010, 11:16
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 3 meses
Puntos: 39
Respuesta: Ayuda group by, max en subconsulta

Bienvenido al foro, siéntete libre de hacer tus consultas.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 02/12/2010, 11:18
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Ayuda group by, max en subconsulta

una pregunta mas sobre tu codigo ... porque pones de esa manera el rango de fechas ...
WHERE finscripcion > '20101015' AND finscripcion < '20101117' ... x algo en especial? ... siempre sera yyyymmdd? o depende de mi configuracion
  #6 (permalink)  
Antiguo 02/12/2010, 11:25
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 3 meses
Puntos: 39
Respuesta: Ayuda group by, max en subconsulta

Es el formato ANSI que se recomienda, es el estandar, asi no tendras problemas de compatibilidad.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #7 (permalink)  
Antiguo 02/12/2010, 11:32
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Ayuda group by, max en subconsulta

Gracias man

Etiquetas: join, left, max, outer, top, jquery-mobile
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:58.