Crear una consulta basada en varias tablas

A veces, el proceso de crear y usar las consultas de Access es tan sencillo como seleccionar campos de una tabla, quizás aplicar algunos criterios y luego ver los resultados. Pero, ¿qué sucede si, como suele ser el caso, los datos que necesita están distribuidos en más de una tabla? Afortunadamente, puede crear una consulta que combina información de varios orígenes. En este tema se tratan algunos escenarios donde se extraen datos de más de una tabla y se indica cómo hacerlo.

¿Qué desea hacer?

Usar datos de una tabla relacionada para mejorar la información de la consulta

Conectar los datos de dos tablas mediante sus relaciones con una tercera tabla

Ver todos los registros de dos tablas similares

Usar datos de una tabla relacionada para mejorar la información de la consulta

Puede haber casos en que una consulta que se basa en una tabla le proporciona la información necesaria, pero extraer datos de otra tabla ayudaría a que los resultados de la consulta sean incluso más precisos y útiles. Por ejemplo, supongamos que tiene una lista de identificadores de empleados que aparecen en los resultados de la consulta. Se da cuenta de que sería más útil ver el nombre del empleado en los resultados, pero los nombres de los empleados se encuentran en otra tabla. Para que los nombres de los empleados aparezcan en los resultados de la consulta, tiene que incluir ambas tablas en la consulta.

Usar al Asistente para consultas para crear una consulta de una tabla principal y una tabla relacionada

  1. Asegúrese de que las tablas tienen una Relación definida en ventana Relaciones.

    ¿Cómo?

    1. En el grupo Mostrar u ocultar de la pestaña Herramientas de base de datos, haga clic en Relaciones.

    2. En el grupo Relaciones de la pestaña Diseño, haga clic en Todas las relaciones.

    3. Identifique las tablas que deben tener una relación definida.

      • Si las tablas están visibles en la ventana Relaciones, compruebe que se ha definido una relación.

        Una relación aparece como una línea que conecta las dos tablas en un campo común. Puede hacer doble clic en una línea de relación para ver qué campos de las tablas están conectados por la relación.

      • Si las tablas no están visibles en la ventana Relaciones, debe agregarlas.

        En el grupo Mostrar u ocultar de la pestaña Diseño, haga clic en Nombres de tabla.

        Haga doble clic en cada una de las tablas que quiera mostrar y luego haga clic en Cerrar.

    4. Si no encuentra una relación entre las dos tablas, cree una arrastrando un campo desde una de las tablas a un campo en la otra tabla. Los campos en los que se cree la relación entre las tablas deben tener tipos de datos idénticos.

      Nota: Puede crear una relación entre un campo del tipo de datos Autonumeración y un campo del tipo de datos Número, si ese campo tiene un tamaño de campo de tipo entero largo. Este suele ser el caso cuando se crea una relación de uno a varios.

      Aparecerá el cuadro de diálogo Modificar relaciones.

    5. Haga clic en Crear para crear la relación.

      Para más información sobre las opciones que tiene al crear una relación, vea el artículo Crear, modificar o eliminar una relación.

    6. Cierre la ventana Relaciones.

  2. En la pestaña Crear, en el grupo Consultas, haga clic en Asistente para consultas. Nota: Si usa Access 2007, en el grupo Otros de la pestaña Crear, haga clic en Asistente para consultas.

  3. En el cuadro de diálogo Nueva consulta, haga clic en Asistente para consultas sencillas y en Aceptar.

  4. En el cuadro combinado Tablas/Consultas, haga clic en la tabla que contiene la información básica que quiere incluir en la consulta.

  5. En la lista Campos disponibles, haga clic en el primer campo que quiere incluir en la consulta y luego en el botón de una flecha a la derecha para mover ese campo a la lista Campos seleccionados. Haga lo mismo con cada campo adicional de esa tabla que quiere incluir en la consulta. Puede tratarse de campos que quiere que se devuelvan en el resultado de la consulta o de campos que quiere usar para limitar las filas de la salida aplicando criterios.

  6. En el cuadro combinado Tablas/Consultas, haga clic en la tabla que contiene los datos relacionados que quiere usar para mejorar los resultados de la consulta.

  7. Agregue los campos que quiere usar para mejorar los resultados de la consulta a la lista Campos seleccionados y luego haga clic en Siguiente.

  8. En ¿Desea una consulta de detalle o resumen?, haga clic en Detalle o en Resumen.

    Si no quiere que la consulta realice ninguna función de agregado (Suma, Media, Min., Máx., Contar, DesvEst o Var.), elija una consulta de detalle. Si quiere que la consulta realice una función de agregado, elija una consulta de resumen. Después de realizar su elección, haga clic en Siguiente.

  9. Haga clic en Finalizar para ver los resultados.

Ejemplo que usa la base de datos Northwind

En el ejemplo siguiente, se usa el Asistente para consultas para crear una consulta que muestra una lista de pedidos, los gastos de envío de cada pedido y el nombre del empleado responsable de cada pedido.

Nota: Este ejemplo implica la modificación de la base de datos Northwind. Se recomienda realizar una copia de la base de datos Northwind y luego seguir este ejemplo con esa copia de seguridad.

Usar el Asistente para consultas para crear la consulta

  1. Abra la base de datos Northwind. Cierre el formulario de inicio de sesión.

  2. En la pestaña Crear, en el grupo Consultas, haga clic en Asistente para consultas. Nota: Si usa Access 2007, en el grupo Otros de la pestaña Crear, haga clic en Asistente para consultas.

  3. En el cuadro de diálogo Nueva consulta, haga clic en Asistente para consultas sencillas y en Aceptar.

  4. En el cuadro combinado Tablas/Consultas, haga clic en Tabla: Pedidos.

  5. En la lista Campos disponibles, haga doble clic en OrderID para mover ese campo a la lista Campos seleccionados. Haga doble clic en Shipping Fee para mover ese campo a la lista Campos seleccionados.

  6. En el cuadro combinado Tablas/Consultas, haga clic en Tabla: Empleados.

  7. En la lista Campos disponibles, haga doble clic en FirstName para mover ese campo a la lista Campos seleccionados. Haga doble clic en LastName para mover ese campo a la lista Campos seleccionados. Haga clic en Siguiente.

  8. Puesto que va a crear una lista de todos los pedidos, quiere usar una consulta de detalle. Si va a sumar los gastos de envío por empleado o a realizar alguna otra función de agregado, use una consulta de resumen. Haga clic en Detalle (muestra cada campo de cada registro) y luego en Siguiente.

  9. Haga clic en Finalizar para ver los resultados.

La consulta devuelve una lista de pedidos, con sus gastos de envío y el nombre y los apellidos del empleado responsable de cada uno.

Principio de página

Conectar los datos de dos tablas mediante sus relaciones con una tercera tabla

A menudo, los datos de dos tablas están relacionados a través de una tercera tabla. Este suele ser el caso porque los datos entre las dos primeras tablas se relacionan en una relación de varios a varios. En cuanto al diseño de la base de datos, se recomienda dividir una relación de varios a varios entre dos tablas en dos relaciones de uno a varios que implican tres tablas. Para ello, cree una tercera tabla, denominada tabla de unión, que tiene una clave principal y una clave externa para cada una de las otras tablas. Luego se crea una relación de uno a varios entre cada clave externa de la tabla de unión y la clave principal correspondiente de una de las otras tablas. En estos casos, tiene que incluir las tres tablas en la consulta, aunque solo quiera recuperar datos de dos de ellas.

Crear una consulta de selección con tablas en una relación de varios a varios

  1. En la pestaña Crear del grupo Consultas, haga clic en Diseño de consulta. Nota: Si está usando Access 2007, en la pestaña Crear del grupo Otros, deberá hacer clic en Diseño de consulta.

    Se abrirá el cuadro de diálogo Mostrar tabla.

  2. En el cuadro de diálogo Mostrar tabla, haga doble clic en las dos tablas que contienen los datos que quiere incluir en la consulta y también en la tabla de unión que las vincula y haga clic en Cerrar.

    Las tres tablas aparecerán en el área de trabajo de diseño de la consulta, combinadas en los campos correspondientes.

  3. Haga doble clic en cada uno de los campos que quiere usar en los resultados de la consulta. Cada campo aparece después en la cuadrícula de diseño de la consulta.

  4. En la cuadrícula de diseño de la consulta, use la fila Criterios para especificar los criterios de campo. Para usar un criterio de campo sin mostrar el campo en los resultados de la consulta, desactive la casilla de la fila Mostrar correspondiente a ese campo.

  5. Para ordenar los resultados por los valores de un campo, en la cuadrícula de diseño de la consulta, haga clic en Ascendente o Descendente (en función de cómo quiera ordenar los registros) en la fila Sort correspondiente a ese campo.

  6. En el grupo Resultados de la pestaña Diseño, haga clic en Ejecutar.

    Access muestra el resultado de la consulta en Vista de hoja de datos.

Ejemplo que usa la base de datos Northwind

Nota: Este ejemplo implica la modificación de la base de datos Northwind. Se recomienda realizar una copia de la base de datos Northwind y luego seguir este ejemplo con la copia de seguridad.

Supongamos que tiene una nueva oportunidad: un proveedor de Río de Janeiro ha encontrado su sitio web y es posible que quiera trabajar con usted. Pero la empresa solo opera en Río y alrededores de São Paulo. Suministra todas las categorías de productos de alimentación con las que usted trabaja. Se trata de una empresa bastante grande y quieren estar seguros de que puede ofrecerles acceso a unas ventas potenciales que merezcan la pena: como mínimo 20 000,00 reales de ventas al año (aproximadamente, 9300,00 dólares). ¿Puede ofrecerles el mercado que requieren?

Los datos necesarios para responder a esta pregunta se encuentran en dos lugares: una tabla Clientes y una tabla Detalles del pedido. Estas tablas están vinculadas entre sí por medio de una tabla Pedidos. Ya se han definido relaciones entre las tablas. En la tabla Pedidos, cada pedido únicamente puede tener un solo cliente, relacionado con la tabla Clientes por el campo CustomerID. Cada registro de la tabla Detalles del pedido se relaciona únicamente con un solo pedido de la tabla Pedidos, por el campo OrderID. Por consiguiente, un determinado cliente puede tener muchos pedidos, cada uno con muchos detalles del pedido.

En este ejemplo, se creará una consulta de tabla de referencias cruzadas que muestra el total de ventas por año, en las ciudades de Río de Janeiro y São Paulo.

Crear una consulta en la vista Diseño

  1. Abra la base de datos Northwind. Cierre el formulario de inicio de sesión.

  2. En la pestaña Crear del grupo Consultas, haga clic en Diseño de consulta. Nota: Si está usando Access 2007, en la pestaña Crear del grupo Otros, deberá hacer clic en Diseño de consulta.

    Se abrirá el cuadro de diálogo Mostrar tabla.

  3. En el cuadro de diálogo Mostrar tabla, haga doble clic en Clientes, Pedidos y Detalles del pedido y luego haga clic en Cerrar.

    Las tres tablas aparecerán en el área de trabajo de diseño de la consulta.

  4. En la tabla Clientes, haga doble clic en el campo City para agregarlo a la cuadrícula de diseño de la consulta.

  5. En la cuadrícula de diseño de la consulta, en la fila Criterios de la columna Ciudad, escriba En ("Rio de Janeiro","São Paulo"). Así solo se incluyen en la consulta aquellos registros de una de estas dos ciudades en los que se encuentra el cliente.

  6. En la tabla Detalles del pedido, haga doble clic en los campos FechaDeEnvío y PrecioUnidad.

    Los campos se agregan a la cuadrícula de diseño de la consulta.

  7. En la columna FechaDeEnvío de la cuadrícula de diseño de la consulta, seleccione la fila Campo. Reemplace [FechaDeEnvío] por Año: Format([FechaDeEnvío],"aaaa"). Se crea un alias de campo, Año, que permite usar tan solo la parte del año del valor del campo FechaDeEnvío.

  8. En la columna PrecioUnidad de la cuadrícula de diseño de la consulta, seleccione la fila Campo. Reemplace [PrecioUnidad] por Ventas: [Detalles del pedido].[PrecioUnidad]*[Cantidad]-[Detalles del pedido].[PrecioUnidad]*[Cantidad]*[Descuento]. Se crea un alias de campo, Ventas, que calcula las ventas de cada registro.

  9. En el grupo Tipo de consulta de la pestaña Diseño, haga clic en Tabla de referencias cruzadas.

    Aparecerán dos nuevas filas, Total y TablaDeReferenciasCruzadas, en la cuadrícula de diseño de la consulta.

  10. En la columna Ciudad de la cuadrícula de diseño de la consulta, haga clic en la fila TablaDeReferenciasCruzadas y luego en Encabezado de fila.

    Así, los valores de ciudad aparecen como encabezados de fila (es decir, la consulta devuelve una fila por ciudad).

  11. En la columna Año, haga clic en la fila TablaDeReferenciasCruzadas y luego en Encabezado de columna.

    Así, los valores de año aparecen como encabezados de columna (es decir, la consulta devuelve una columna por año).

  12. En la columna Ventas, haga clic en la fila TablaDeReferenciasCruzadas y luego en Valor.

    Así, los valores de ventas aparecen en la intersección de filas y columnas (es decir, la consulta devuelve un valor de ventas por combinación de ciudad y año).

  13. En la columna Ventas, haga clic en la fila Totales y luego en Suma.

    Así la consulta suma los valores de esta columna.

    Puede dejar la fila Totales de las otras dos columnas en el valor predeterminado de Agrupar por, porque quiere ver cada valor de estas columnas, no valores de agregado.

  14. En el grupo Resultados de la pestaña Diseño, haga clic en Ejecutar.

Ahora tiene una consulta que devuelve el total de ventas por año en Río de Janeiro y São Paulo.

Principio de página

Ver todos los registros de dos tablas similares

A veces, tendrá que combinar datos de dos tablas que tienen una estructura idéntica, pero una de ellas se encuentra en otra base de datos. Tenga en cuenta el siguiente escenario.

Supongamos que es un analista que trabaja con datos de alumnos. Se ha embarcado en una iniciativa de uso compartido de datos entre su centro de enseñanza y otro centro para que ambos puedan mejorar su plan de estudios. Para algunas de las cuestiones que quiere explorar, sería mejor buscar en todos los registros de ambos centros juntos, en lugar de los registros de cada centro de enseñanza por separado.

Podría importar datos del otro centro de enseñanza a nuevas tablas en la base de datos, pero los cambios que posteriormente se realicen a los datos del otro centro no se reflejarían en la base de datos. Una solución mejor sería vincularlos a las tablas del otro centro de enseñanza y luego crear consultas que combinen los datos al ejecutarse. Podría analizar los datos como un solo conjunto, en lugar de realizar dos análisis e intentar interpretarlos como si fueran uno solo.

Para ver todos los registros de las dos tablas de estructura idéntica, use una consulta de unión.

Las consultas de unión no se pueden mostrar en la vista Diseño. Se crean mediante comandos SQL que se especifican en una pestaña de objeto de vista SQL.

Crear una consulta de unión mediante dos tablas

  1. En la pestaña Crear del grupo Consultas, haga clic en Diseño de consulta. Nota: Si está usando Access 2007, en la pestaña Crear del grupo Otros, deberá hacer clic en Diseño de consulta.

    Se abre la cuadrícula de diseño de la consulta y aparece el cuadro de diálogo Mostrar tabla.

  2. En el cuadro de diálogo Mostrar tabla, haga clic en Cerrar.

  3. En el grupo Tipo de consulta de la pestaña Diseño, haga clic en Unión.

    La consulta cambia de la vista Diseño a la vista SQL. En este momento, la pestaña de objeto de vista SQL está vacía.

  4. En la vista SQL, escribaSELECT, seguida de una lista de los campos de la primera de las tablas que quiere incluir en la consulta. Los nombres de campo deben ir entre corchetes y separados por comas. Cuando haya terminado de escribir los nombres de campo, presione ENTRAR. El cursor baja a la línea siguiente en la vista SQL.

  5. Escriba FROM, seguida del nombre de la primera de las tablas que quiere incluir en la consulta. Presione ENTRAR.

  6. Si quiere especificar un criterio para un campo de la primera tabla, escriba WHERE, seguida del nombre de campo, un operador de comparación (generalmente, un signo igual (=)) y el criterio. Puede agregar otros criterios al final de la cláusula WHERE mediante la palabra clave AND y la misma sintaxis usada en el primer criterio; por ejemplo, WHERE [NivelDeClase]="100" AND [HorasDeCrédito]>2. Cuando haya terminado de especificar los criterios, presione ENTRAR.

  7. Escriba UNION y presione ENTRAR.

  8. EscribaSELECT, seguida de una lista de los campos de la segunda tabla que quiere incluir en la consulta. Debe incluir los mismos campos de esta tabla que ha incluido de la primera tabla y en el mismo orden. Los nombres de campo deben ir entre corchetes y separados por comas. Cuando haya terminado de escribir los nombres de campo, presione ENTRAR.

  9. Escriba FROM, seguida del nombre de la segunda tabla que quiere incluir en la consulta. Presione ENTRAR.

  10. Si quiere, agregue una cláusula WHERE, tal y como se describe en el paso 6 de este procedimiento.

  11. Escriba un signo de punto y coma (;) para indicar el final de la consulta.

  12. En el grupo Resultados de la pestaña Diseño, haga clic en Ejecutar.

    Los resultados aparecen en la vista Hoja de datos.

Principio de página

Vea también

Combinar tablas y consultas

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×