Seleccionar n registros de una tabla

Tengo una Tabla1 con dos campos: código y n_premios (que varía para cada código). En otra Tabla2, tengo código (coincidentes con el de la primera tabla), dni's varios y con sus notas varias.

En la consulta que quiero realizar, necesito que access me extraiga los "n" valores más altos ordenados por nota de cada código coincidente entre ambas tablas. ¿Es posible?

Respuesta
1

Te comento cómo lo haría yo, aunque hay otras formas de hacerlo (al final te indico otra), para lo que es obligatorio que tu tabla 2 tenga un campo que identifique cada registro de forma única (por ejemplo un id autonumérico):

En primer lugar crearía una consulta simple con los campos que quieras mostrar de las dos tablas, en la que incluiría, además, el id de la Tabla2.

En segundo lugar, construiría una consulta sobre la consulta anterior, en la que filtraría el top X como subconsulta, así como en la imagen (tu tendrás que adaptarlo a tus campos)

Te dejo el archivo para que lo veas mejor: http://www.filebig.net/files/cE7dwMSKXe 

Otra forma sería recurrir a una tabla auxiliar, como explica Neckkito en este ejemplo: http://neckkito.xyz/nck/index.php/ejemplos/14-consultas/101-el-top-de-los-top

¡Gracias! Muy concreta y excelente respuesta. Genial. El resultado que buscaba. Muchas gracias de nuevo

Perdona que reabra de nuevo la pregunta porque ahora que me he puesto a estudiarla de cerca hay algo que no se hace bien y es el hecho que en tu respuesta se selecciona el "TOP 2" pero yo quiero que se seleccione el "TOP n" para cada código, según se indica en n_premios. El caso es que por cada código se entregan 1, 2 ó 3 premios (valor que se indica en "n").

Perdona y gracias de nuevo.

De nada! Un placer ayudar

Vaya, no había visto tu segunda respuesta... Te respondo en la nueva pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas