Marcar registros en una tabla que coincide con los de otra tabla

Una vez más recurro a los expertos en busca de ayuda. Tengo dos tablas; ambas tienen campos coincidentes. Lo que quiero es que en la tabla A me indique en un campo SÍ o NO en base a que encuentre coincidencia con un registro de la tabla B. Por ejemplo, en la tabla A tengo un registro con los campos, "Artículo";"Unidades";"Precio Ud." y en la tabla B los campos "Artículo";"Pedido";"Cliente". Lo que quiero es que en la tabla A me marque en el campo "Coincidencia" con un SÍ todos aquellos artículos que estén también en la tabla B. No sé cómo hacerlo mediante UPDATE en SQL. He intentado hacerlo mediante Dlookup en una consulta pero al ser tablas de más de 30.000 registros es demasiado lento pues entiendo que hace búsquedas recursivas cada vez que se modifica un dato y lo que necesito es que se marque el SÍ/NO cada vez que el usuario le da a un botón.

2 respuestas

Respuesta
2

Si tengo la tabla

y la tabla

Hago una consulta de actualización

Cuando la ejecuto

Si quisieras poner un botón en un formulario bastaría con poner en el evento al hacer clic

Docmd. Openquery"consulta1"

Respuesta
1

Deberías usar un UPDATE con un CASE.

Algo así:

update tabla_a

set coicidencia=case

                             when articulo in (select articulo from tabla_b) then 'SI'

                             ELSE 'NO'

                             end;

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas