Aquí está un ejemplo simplificado de lo que estoy hablando:tablas Joining basado en el valor máximo
Table: students exam_results
_____________ ____________________________________
| id | name | | id | student_id | score | date |
|----+------| |----+------------+-------+--------|
| 1 | Jim | | 1 | 1 | 73 | 8/1/09 |
| 2 | Joe | | 2 | 1 | 67 | 9/2/09 |
| 3 | Jay | | 3 | 1 | 93 | 1/3/09 |
|____|______| | 4 | 2 | 27 | 4/9/09 |
| 5 | 2 | 17 | 8/9/09 |
| 6 | 3 | 100 | 1/6/09 |
|____|____________|_______|________|
Supongamos, por el bien de esta pregunta, que cada estudiante tiene al menos uno de los resultados del examen grabado.
¿Cómo seleccionarías a cada estudiante junto con su puntaje más alto?Editar: ... Y los otros campos en ese registro?
salida esperada:
_________________________
| name | score | date |
|------+-------|--------|
| Jim | 93 | 1/3/09 |
| Joe | 27 | 4/9/09 |
| Jay | 100 | 1/6/09 |
|______|_______|________|
respuestas utilizando todo tipo de DBMS son bienvenidos.
¿Cómo resolver los lazos?En su ejemplo, ¿qué registro debería seleccionarse en Jim obtuvo 93 puntajes dos veces? – Sparky
en mis propias tablas, (que no tienen nada que ver con estudiantes y exámenes) esto no sucede. ¿O uno debería estar bien? – nickf