Comparar dos tablas y buscar sólo datos coincidentes

En ocasiones, quizás desee revisar los registros de sólo una tabla si hay registros correspondientes en otra tabla que contienen uno o varios campos con datos coincidentes. Por ejemplo, puede que desee revisar los registros de los empleados que han procesado al menos un pedido para determinar qué empleados tienen derecho a una bonificación. O bien, quizás desee revisar la información de contacto de los clientes que viven en la misma ciudad que un empleado para establecer coincidencias entre los empleados y los clientes de cara a reuniones personales.

Cuando desee comparar dos tablas y buscar datos coincidentes, podrá:

  • Crear una consulta que combine los campos de cada tabla que contienen información correspondiente, mediante una relación existente o mediante una combinación creada para la consulta. Este método proporciona un rendimiento óptimo (velocidad con la que la consulta devuelve resultados), pero no se pueden combinar campos con tipos de datos diferentes.
  • Crear una consulta que compare los campos utilizando un campo como criterio del otro. Este método suele ser más lento que el de las combinaciones porque las combinaciones eliminan filas de los resultados de una consulta antes de que se lean las tablas subyacentes, mientras que los criterios se aplican a los resultados de una consulta después de que se lean las tablas subyacentes. Sin embargo, se puede utilizar un campo como criterio para comparar campos con tipos de datos diferentes, lo que no se puede hacer con el método de las combinaciones.

En este artículo se describe cómo comparar dos tablas para identificar datos coincidentes y se proporcionan datos de ejemplo que se pueden utilizar con procedimientos de ejemplo.

En este artículo no se abordan los datos duplicados ni su impacto. Para obtener más información sobre cómo buscar, ocultar o eliminar datos duplicados, vea la ayuda o utilice los vínculos que figuran en la sección Vea también.

¿Qué desea hacer?


Comparar dos tablas mediante combinaciones

Para comparar dos tablas mediante combinaciones, cree una consulta de selección que incluya ambas tablas. Si aún no hay una relación entre las tablas de los campos que contienen los datos correspondientes, cree una combinación en los campos que desee examinar para determinar si tienen datos coincidentes. Puede crear tantas combinaciones como desee, pero cada par de campos combinados debe tener el mismo tipo de datos o un tipo de datos compatible.

Supongamos que es un investigador institucional en una universidad y desea comprobar cómo los recientes cambios curriculares en el departamento de matemáticas han afectado a las notas de los alumnos. Le interesan en concreto las notas de los alumnos que tienen matemáticas como asignatura principal. Ya tiene una tabla en la que se almacenan los datos de las asignaturas principales de los alumnos y otra tabla en la que se almacenan los datos de las inscripciones. Los datos referentes a las notas se almacenan en la tabla Inscripciones y los datos referentes a las asignaturas principales de los alumnos se almacenan en la tabla Asignaturas principales. Para ver cómo han cambiado las notas de los alumnos con matemáticas como asignatura principal desde los recientes cambios curriculares, deberá revisar los registros de la tabla de inscripciones que tengan registros correspondientes en la tabla de asignaturas principales.

Preparar datos de ejemplo

En este ejemplo, va a crear una consulta que determine cómo los cambios curriculares en el departamento de matemáticas han afectado a las notas de los alumnos con matemáticas como asignatura principal. Utilice las dos siguientes tablas de ejemplo, Asignaturas principales e Inscripciones. Agregue estas dos tablas de ejemplo a una base de datos.

Microsoft Office Access 2007 proporciona varias maneras de agregar estas tablas de ejemplo a una base de datos. Puede introducir manualmente los datos, puede copiar cada tabla a un programa de hoja de cálculo (como Microsoft Office Excel 2007) y, a continuación, importar las hojas de cálculo a Office Access 2007, o bien, puede pegar los datos en un editor de texto, como Bloc de notas y, a continuación, importar los datos de los archivos de texto resultantes.

Los pasos descritos en esta sección explican cómo introducir manualmente datos en una hoja de datos en blanco y cómo copiar las tablas de ejemplo a Office Excel 2007 y, a continuación, importarlas a Access 2007. Para obtener más información sobre cómo crear e importar datos de texto, vea el artículo Importar o vincular a datos de un archivo de texto.

Asignaturas principales
Id del alumno Año Asignatura principal
123456789 2005 Matemáticas
223334444 2005 Inglés
987654321 2005 Matemáticas
135791357 2005 Historia
147025836 2005 Biología
707070707 2005 Matemáticas
123456789 2006 Matemáticas
223334444 2006 Inglés
987654321 2006 Psicología
135791357 2006 Historia del arte
147025836 2006 Biología
707070707 2006 Matemáticas

Inscripciones
Id del alumno Año Trimestre Programa de estudios Curso Nota
123456789 2005 3 Matemáticas 221 A
123456789 2005 3 Inglés 101 B
123456789 2006 1 Matemáticas 242 C
123456789 2006 1 Matemáticas 224 C
223334444 2005 3 Inglés 112 A
223334444 2005 3 Matemáticas 120 C
223334444 2006 1 Políticas 110 A
223334444 2006 1 Inglés 201 B
987654321 2005 3 Matemáticas 120 A
987654321 2005 3 Psicología 101 A
987654321 2006 1 Matemáticas 221 B
987654321 2006 1 Matemáticas 242 C
135791357 2005 3 Historia 102 A
135791357 2005 3 Historia del arte 112 A
135791357 2006 1 Matemáticas 120 B
135791357 2006 1 Matemáticas 141 C
147025836 2005 3 Biología 113 B
147025836 2005 3 Química 113 B
147025836 2006 1 Matemáticas 120 D
147025836 2006 1 Estadística 114 B
707070707 2005 3 Matemáticas 221 B
707070707 2005 3 Estadística 114 A
707070707 2006 1 Matemáticas 242 D
707070707 2006 1 Matemáticas 224 C

Si desea utilizar un programa de hoja de cálculo para introducir los datos de ejemplo, puede omitir la sección siguiente.

Introducir manualmente los datos de ejemplo

  1. Abra una base de datos nueva o existente.
  2. En el grupo Tablas de la ficha Crear, haga clic en Tabla.

Imagen de la cinta de opciones de Access

Access agrega una nueva tabla en blanco a la base de datos.

 Nota   No es necesario seguir este paso si abre una nueva base de datos en blanco, pero sí será necesario cada vez que necesite agregar una tabla a la base de datos.

  1. Haga doble clic en la primera celda de la fila de encabezado y, a continuación, escriba el nombre del campo en la tabla de ejemplo.

De forma predeterminada, Access denota los campos en blanco en la fila de encabezado con el texto Agregar nuevo campo, como:

Un nuevo campo en una hoja de datos

  1. Utilice las teclas de dirección para desplazarse a la siguiente celda de encabezado en blanco y, a continuación, escriba el segundo nombre de campo. (También puede hacer doble clic en la nueva celda.) Repita este paso para cada nombre de campo.
  2. Escriba los datos en la tabla de ejemplo.

Mientras escribe los datos, Access deduce un tipo de datos para cada campo. Cada campo tiene un tipo de datos específico, como Número, Texto o Fecha/Hora. Al establecer los tipos de datos, se ayuda a garantizar que se introducen los datos correctos y también se ayuda a evitar errores, como el uso de un número de teléfono en un cálculo. Para estas tablas de ejemplo, deje que Access deduzca el tipo de datos, pero no olvide revisar el tipo de datos deducido por Access para cada campo.

  1. Cuando termine de introducir los datos, haga clic en Guardar o presione la tecla CTRL+G.

Aparece el cuadro de diálogo Guardar como.

  1. En el cuadro Nombre de tabla, escriba el nombre de la tabla de ejemplo y, a continuación, haga clic en Aceptar.

Utilice el nombre de cada tabla de ejemplo (por ejemplo, Asignaturas principales) porque las consultas en las secciones de procedimiento de este artículo también utilizan esos nombres.

Cuando termine de escribir los datos de ejemplo, está listo para comparar las dos tablas.

Omita la siguiente sección (Crear las hojas de cálculo de ejemplo), a menos que desee obtener información sobre cómo crear una hoja de cálculo basada en los datos de ejemplo de las tablas de la sección anterior.

Crear las hojas de cálculo de ejemplo

  1. Inicie el programa de hoja de cálculo y cree un nuevo archivo en blanco. Si utiliza Excel, se crea de manera predeterminada un nuevo libro en blanco cuando se inicia el programa.
  2. Copie la primera tabla de ejemplo de la sección anterior y péguela en la primera hoja de cálculo, empezando en la primera celda. Asegúrese de copiar la fila de encabezado, ya que contiene los nombres de campo de la tabla de ejemplo.
  3. Mediante la técnica proporcionada por el programa de hoja de cálculo, asigne a la hoja de cálculo el mismo nombre que el de la tabla de ejemplo. Por ejemplo, cuando pegue los datos de ejemplo de Inscripciones, asigne el nombre Inscripciones a la hoja de cálculo.
  4. Repita los pasos 2 y 3, copiando la segunda tabla de ejemplo en una hoja de cálculo en blanco y cambiando el nombre la hoja de cálculo.

 Nota   Puede que tenga que agregar hojas de cálculo al archivo. Para obtener información sobre cómo agregar hojas de cálculo a un archivo de hoja de cálculo, vea la ayuda del programa de hoja de cálculo.

  1. Guarde el libro en una ubicación adecuada del equipo o de la red y vaya al siguiente conjunto de pasos.

Crear tablas de base de datos a partir de las hojas de cálculo

  1. En una base de datos nueva o existente:

En el grupo Importar de la ficha Datos externos, haga clic en Excel.

Imagen de la cinta de opciones de Access

O bien,

Haga clic en Más y, a continuación, seleccione en la lista un programa de hoja de cálculo.

Aparece el cuadro de diálogo Obtener datos externos: Hoja de cálculo de nombre de programa.

  1. Haga clic en Examinar, busque y abra el archivo de hoja de cálculo que creó en los pasos anteriores y, a continuación, haga clic en Aceptar.

Se iniciará el Asistente para importación de hojas de cálculo.

De manera predeterminada, el asistente selecciona la primera hoja de cálculo del libro (Asignaturas principales, si siguió los pasos de la sección anterior), y los datos de esa hoja de cálculo aparecen en la sección inferior de la página del asistente.

  1. Haga clic en Siguiente.
  2. En la siguiente página del asistente, active la casilla de verificación Primera fila contiene encabezados de columna y, a continuación, haga clic en Siguiente.
  3. En la siguiente página, puede utilizar los cuadros de texto y listas bajo Opciones de campo para cambiar los nombres de campo y tipos de datos, o bien, para omitir campos de la operación de importación. Para este ejemplo, no tiene que cambiar nada. Haga clic en Siguiente.
  4. En la siguiente página, seleccione la opción Sin clave principal y, a continuación, haga clic en Siguiente.
  5. De manera predeterminada, Access aplica el nombre de la hoja de cálculo a la nueva tabla. Acepte el nombre en el cuadro Importar a la tabla y, a continuación, haga clic en Finalizar.
  6. En la página Guardar los pasos de la importación, haga clic en Cerrar para completar el asistente.
  7. Repita los pasos del 1 al 7 hasta que haya creado una tabla a partir de cada hoja de cálculo del archivo.

Comparar las tablas de ejemplo y buscar registros coincidentes mediante combinaciones

Ahora ya está preparado para comparar la tabla Inscripciones con la tabla Asignaturas principales. Dado que no ha definido ninguna relación entre las dos tablas, debe crear combinaciones entre los campos apropiados en la consulta. Las tablas tienen más de un campo en común. Debe crear una combinación por cada par de campos comunes: Id del alumno, Año y Programa de estudios (tabla Inscripciones) y Asignatura principal (tabla Asignaturas principales). En este ejemplo, sólo son de interés los alumnos con matemáticas como asignatura principal, por lo que también va a utilizar un criterio de campo para limitar los resultados de la consulta.

  1. Abra la base de datos en la que guardó las tablas de ejemplo.
  2. En el grupo Otros de la ficha Crear, haga clic en Diseño de consulta.
  1. En el cuadro de diálogo Mostrar tabla, haga doble clic en la tabla que contiene los registros que desee mostrar; en este ejemplo, la tabla Inscripciones. A continuación, haga doble clic en la tabla con la que la va a comparar; en este ejemplo, la tabla Asignaturas principales.
  2. Cierre el cuadro de diálogo Mostrar tabla.
  3. Arrastre el campo Id del alumno de la tabla Inscripciones hasta el campo Id del alumno de la tabla Asignaturas principales. Aparece una línea entre las dos tablas en la cuadrícula de diseño; dicha línea indica que se ha creado una combinación. Haga doble clic en la línea para abrir el cuadro de diálogo Propiedades de la combinación.
  4. Revise las tres opciones del cuadro de diálogo Propiedades de la combinación. De forma predeterminada, la opción 1 está seleccionada. En algunos casos, hay que ajustar las propiedades de combinación para incluir filas adicionales de una tabla. Dado que intenta buscar sólo datos coincidentes, deje la combinación configurada en la opción 1. Cierre el cuadro de diálogo Propiedades de la combinación haciendo clic en Cancelar.
  5. Debe crear otras dos combinaciones. Para ello, arrastre el campo Año de la tabla Inscripciones hasta el campo Año de la tabla Asignaturas principales y, a continuación, arrastre el campo Programa de estudios de la tabla Inscripciones hasta el campo Asignatura principal de la tabla Asignaturas principales.
  6. En la tabla Inscripciones, haga doble clic en el asterisco (*) para agregar todos los campos de la tabla a la cuadrícula de diseño de la consulta.

 Nota   Si utiliza el asterisco para agregar todos los campos, aparece sólo una columna en la cuadrícula de diseño. Esa columna tiene el nombre de la tabla, seguido de un punto (.) y un asterisco (*). En este ejemplo, la columna se denomina Inscripciones.*.

  1. En la tabla Asignaturas principales, haga doble clic en el campo Asignatura principal para agregarlo a la cuadrícula.
  2. Desactive la casilla de verificación en la fila Mostrar de la columna Asignatura principal en la cuadrícula de diseño de la consulta.
  3. En la fila Criterios de la columna Asignatura principal, escriba Matemáticas.
  4. En el grupo Resultados de la ficha Diseño, haga clic en Ejecutar.

La consulta se ejecuta y, a continuación, muestra sólo las notas de matemáticas de los alumnos que tengan matemáticas como asignatura principal.

Volver al principio Volver al principio

Comparar dos tablas utilizando un campo como criterio

En ocasiones, puede que desee comparar tablas que tienen campos con datos coincidentes pero con tipos de datos distintos. Por ejemplo, un campo de una tabla puede tener el tipo de datos Número y usted desea comparar ese campo con un campo de otra tabla que tiene el tipo de datos Texto. Se pueden generar campos que contienen datos similares pero tienen diferentes tipos de datos cuando se almacenan los números como texto, ya sea por diseño o por otros motivos, como la importación de datos desde otro programa. Dado que no se pueden crear combinaciones entre campos con distintos tipos de datos, deberá utilizar otro método para comparar los campos. Se pueden comparar dos campos con diferentes tipos de datos utilizando uno de los campos como criterio del otro.

Supongamos que es un investigador institucional en una universidad y desea comprobar cómo los recientes cambios curriculares en el departamento de matemáticas han afectado a las notas de los alumnos. Le interesan en concreto las notas de los alumnos que tienen matemáticas como asignatura principal. Ya tiene una tabla denominada Asignaturas principales y otra tabla denominada Inscripciones. Los datos referentes a las notas se almacenan en la tabla Inscripciones y los datos referentes a las asignaturas principales de los alumnos se almacenan en la tabla Asignaturas principales. Para ver cómo han cambiado las notas de los alumnos con matemáticas como asignatura principal, deberá examinar los registros de la tabla de inscripciones que tengan registros correspondientes en la tabla de asignaturas principales. Sin embargo, uno de los campos que desea utilizar para comparar las tablas tiene un tipo de datos distinto.

Para comparar dos tablas utilizando un campo como criterio, cree una consulta de selección que incluya ambas tablas. Incluya los campos que desee mostrar e incluya asimismo el campo que corresponda al campo que desee utilizar como criterio. A continuación, cree un criterio para comparar las tablas. Puede crear tantos criterios como desee para comparar los campos.

Para ilustrar este método, va a utilizar las tablas de ejemplo de la sección anterior, pero va a cambiar de Número a Texto el tipo de datos del campo Id del alumno de la tabla de ejemplo Asignaturas principales. Dado que no se puede crear una combinación entre dos campos con distintos tipos de datos, deberá comparar los dos campos Id del alumno utilizando uno de ellos como criterio del otro.

Cambiar el tipo de datos del campo Id del alumno de Asignaturas principales

  1. Abra la base de datos en la que guardó las tablas de ejemplo.
  2. En el Panel de exploración, haga clic con el botón secundario del mouse (ratón) en la tabla Asignaturas principales y, a continuación, haga clic en Vista Diseño en el menú contextual.

La tabla Asignaturas principales se abre en la vista Diseño.

  1. En la columna Tipo de datos, cambie el valor para Id del alumno de Número a Texto.
  2. Cierre la tabla Asignaturas principales. Cuando se le pregunte si desea guardar los cambios, haga clic en .

Comparar las tablas de ejemplo y buscar registros coincidentes mediante un criterio de campo

En el procedimiento siguiente se muestra cómo comparar los dos campos Id del alumno utilizando el campo de la tabla Inscripciones como criterio para el campo de la tabla Asignaturas principales. Mediante la palabra clave LIKE, puede comparar los campos aunque tengan tipos de datos diferentes.

  1. En el grupo Otros de la ficha Crear, haga clic en Diseño de consulta.
  1. En el cuadro de diálogo Mostrar tabla, haga doble clic en Inscripciones y, a continuación, haga doble clic en Asignaturas principales.
  2. Cierre el cuadro de diálogo Mostrar tabla.
  3. Arrastre el campo Año de la tabla Inscripciones hasta el campo Año de la tabla Asignaturas principales y, a continuación, arrastre el campo Programa de estudios de la tabla Inscripciones hasta el campo Asignatura principal de la tabla Asignaturas principales.

Dado que estos campos tienen los mismos tipos de datos, se pueden comparar mediante combinaciones. Las combinaciones son el método preferido para comparar campos que tienen el mismo tipo de datos.

  1. Haga doble clic en el asterisco (*) de la tabla Inscripciones para agregar todos los campos de esa tabla a la cuadrícula de diseño de la consulta.

 Nota   Si utiliza el asterisco para agregar todos los campos, aparece sólo una columna en la cuadrícula de diseño. Esa columna tiene el nombre de la tabla, seguido de un punto (.) y un asterisco (*). En este ejemplo, la columna se denomina Inscripciones.*.

  1. En la tabla Asignaturas principales, haga doble clic en el campo Id del alumno para agregarlo a la cuadrícula.
  2. Desactive la casilla de verificación en la fila Mostrar de la columna Id del alumno en la cuadrícula de diseño. En la fila Criterios de la columna Id del alumno, escriba Like [Inscripciones].[Id del alumno].
  3. En la tabla Asignaturas principales, haga doble clic en el campo Asignatura principal para agregarlo a la cuadrícula.
  4. Desactive la casilla de verificación en la fila Mostrar de la columna Asignatura principal en la cuadrícula de diseño. En la fila Criterios, escriba Matemáticas.
  5. En el grupo Resultados de la ficha Diseño, haga clic en Ejecutar.

La consulta se ejecuta y, a continuación, muestra sólo las notas de matemáticas de los alumnos que tengan matemáticas como asignatura principal.

Volver al principio Volver al principio

 
 
Corresponde a:
Access 2007