Base de datos de categorías de fútbol, consultar condiciones en diferentes tablas

Paso a detallar mi problemilla a ver si tiene solución:
He creado una base de datos, con 17 tablas las cuales llevan por nombre, las categorías de fútbol 7 y 11 de un determinado club, (alevín A, alevín B, cadete A, cadete B, etc). Los campos en todas son los mismos, (nombre, apellidos, dni, etc) y hay uno en especial que indica cuando ha de pasar un jugador la próxima revisión medica,(la federación así esta obligada ha realizarlo). La pega esta que en esas 17 tablas hay unos 200 registros de chicos que juegan al fútbol, y a cada uno de ellos les toca pasar la revisión en un determinado año. Por ejemplo el que la ha pasado el 2006 le toca ahora en el 2008.
Quisiera saber si entonces se puede realizar una consulta, la cual mirara en todas las tablas, a ver quienes cumplían esa condición, y luego me lo presentara o guardara en otra tabla, así cada año solo saldría un listado con los nombres y apellidos de los jugadores que les tocara pasar la revisisón, y siempre seria más rapido que andar de tabla en tabla o formulario en formulario, mirando a ver a quien le corresponde pasar dicha revisión.

1 respuesta

Respuesta
1
Si, hay que hacerla en dos partes. La primera hacer que todas las tablas estén, por decirlo de alguna manera, una detrás de la otra (consulta UNION), y la segunda hacer la consulta con los criterios de los años según necesites
1.- Consulta UNION
La consulta UNION sólo puede hacerse en vista SQL, no en vista diseño. Crea una consulta nueva, ponla en vista SQL, y escribes estas sentencias:
SELECT * FROM [Alevin A]
UNION SELECT * FROM [Alevin B]
UNION SELECT * FROM [Cadete A]
UNION SELECT * FROM [Cadete B]
... así con todas las tablas
Guarda la consulta con el nombre que quieras (supongamos que la llamas ConsultaTodasCategorias
Si te das cuenta son consultas SELECT normales y corrientes unidas por la cláusula UNION entre ellas.
Es importante que tengas la misma definición de campos, y en el mismo orden.
Da igual como se llamen los campos, tomará los nombres de la primera consulta. Si quieres que tenga otros utiliza AS para darle el nombre que quieras
2.- Selección temporal
Haz una consulta normal y corriente contra la consulta anterior (ConsultaTodasCategorias).
En los criterios de selección utiliza los que necesites, te seleccionará de todas las 17 tablas a través de la consulta UNION
Si quieres hacerlo de un año, puedes utilizar la función year() contra una fecha, hacerlo por parámetros, con un between o como mejor te convenga.
Gracias por su contestación, aunque no se mucho de SQL intentaremos realizarlo a ver que sale o que problemas se me presentan y volvería a comentar. Realizada la votación.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas