Consulta sobre una tabla que devuelva datos adicionales de otra tabla

Necesito hacer una consulta y que, en el resultado, muestre un registro de una tabla, seguido de registro/s de otra tabla que esté asociada a la primera Ej: Tengo una tabla ALUMNES y quiero imprimir la lista de ellos. Pero en otra tabla CUOTAS que son registros que están vinculados con el id_alumne de ALUMNES y dicen qué cuotas pagaron. Me gustaría algún resultado similar a estas dos opciones (y quiero saber si se puede o qué posibilidades hay)

Opción 1 (representación en texto simple de la tabla que devolvería la consulta):

id_alumne|Apellido|Nombre|
1        |Carrizo |Ramón |
fecha    |monto   |      |
5/7/24   |$500    |      |
6/8/24   |$500    |      |
id_alumne|Apellido|Nombre|
...
Opción 2:
id_alumne|Apellido|Nombre|fecha |monto|mecha |monto|
1        |Carrizo |Ramón |5/7/24|$500 |6/8/24|$500 |
...

La tabla ALUMNES tiene un campo llamado id_alumne y cada registro de CUOTAS tiene su id_cuota y su id_alumne (relacionado a la otra tabla). Puede haber alumnos sin cuotas, como también varias cuotas referidas a un solo alumno.

Dejo archivo simple de ejemplo. Tiene 2 alumnos/as y tres cuotas: dos referidas a un alumno y otra a la otra.

alumnes_cuotas.odb (3.2 KB)

Lo primero de todo, sería conveniente que relacionaras las tablas con Herramientas > Relaciones. Esto, además de facilitar la creación de consultas, te asegura que ho haya una cuota sin alumno o con un alumno inexistente.
image

Lo siguiente será crear una consulta (Consultas > Crear una consulta en modo diseño). En el diseñador de consultas añades las dos tablas, y, una vez que las añades añades los campos que necesites. Según tu opción 2 serían id_alumne, Apellido y Nombre de la tabla ALUMNES y fecha y monto de la tabla CUOTAS

Ahí ya tienes el resultado que quieres, aunque no te gusta porque las fecha y montos están en vertical, no en horizontal…

Partiendo de esta consulta puedes hacer un informe con el asistente, agrupando los datos por id_alumno y cuando termines de crearlo, mueves Apellido y Nombre a la parte de cabecera de grupo. Esto es un poco más difícil de explicar pero en el ejemplo lo puedes ver

Y el resultado, creo que es más o menos lo que necesitas

alumnes_cuotas.odb (9,4 KB)

2 Likes

¡Buenísimo, gracias! Acabo de agregar un alumno que no tiene cuotas pagadas… éste no aparece en la consulta y claro, tampoco en el informe. ¿Cómo hago para no sea así?

Edita la consulta, en la línea que une las dos tablas, haces clic derecho y seleccionas editar.

Aparece un diálogo “Propiedades de la unión” y en el diálogo (en este caso) seleccionas Unión a la derecha (en la parte de abajo ves lo que hace cada una de las uniones)

Guarda la consulta y listo. El infome no haría falta modifcarlo.

Base de datos modificada
alumnes_cuotas.odb (9,4 KB)

2 Likes

Hola Mario,

Si puedo intervenir en la discussion, quisiera decirte que si tu mira a llegado formulario Filter, es possible mirar la posicion de cada una persona per vuelta, y despues tomar el cambio persona mediante el button push
Hasta luego!
Example of filtered cv information.odb (19.4 KB)

Disculpame, Nicholas, pero me cuesta entender tu mensaje. La traducción, hecha por vos o automáticamente, no es entendible. Bajé el archivo y tiene 2 formularios… no es lo que estaba necesitando: yo hablaba de consultas y/o informes. Igualmente, mi consulta ya está resuelta, gracias.