SQL Server - Buscar dato de una tabla en otra tabla

   
Vista:

Buscar dato de una tabla en otra tabla

Publicado por Carlos (3 intervenciones) el 14/01/2013 16:40:25
Buenos dias a todos.
Me he encontrado con un problema en sql server y es el siguiente:
Tengo una tabla(A) en donde me han pasado todos los codigos de unos productos, digamos que tengo los siguientes codigos 1,2,3,4,5. Luego de esa tabla(A) necesito compararlos y ver si estos productos se encuentran en otra tabla(B).
Como hago la query para ver si los codigos de la tabla A existen en la tabla B.

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

Buscar dato de una tabla en otra tabla

Publicado por Isaias (3180 intervenciones) el 14/01/2013 17:37:04
Siempre que escuches EXISTEN o NO EXISTEN, de una tabla a otra, refierete a EXISTS o NOT EXISTS en SQL Server.


SELECT * FROM Tabla_A a WHERE EXISTS (SELECT * FROM Tabla_B b WHERE a.ID = b.ID)

Cambia el EXISTS por NOT EXISTS, para lo que NO EXISTAN.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Buscar dato de una tabla en otra tabla

Publicado por Carlos (3 intervenciones) el 14/01/2013 19:11:12
Gracias Isaias.
Ahora fijate que la cosa tiene un grado mas de dificultad y es asi.
Supongamos que en la Tabla A tengo el codigo 1, entonces si en la tabla B tambien tengo el codigo 1, debo de actualizar los costos y una descripcion en los productos de la tabla B, con los costos y descripcion de la tabla A.
Yo he visto pero no estoy muy seguro, algunos mientar algo de foreach(para cada uno), y esque en verdad a mi parecer quizas tengo que poner las sentencias en un bucle.

Gracias por tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Buscar dato de una tabla en otra tabla

Publicado por Isaias (3180 intervenciones) el 14/01/2013 21:55:47
Para nada de FOREACH, ni existe en SQL Server.

Algo mas o menos asi.

UPDATE B SET COSTOS = R.COSTOS, DESCRIPCION = R.DESCRIPCION
FROM
(
SELECT COSTOS, DESCRIPCION
FROM Tabla_A a WHERE EXISTS (SELECT * FROM Tabla_B b WHERE a.ID = b.ID)) AS R
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Buscar dato de una tabla en otra tabla

Publicado por Carlos (3 intervenciones) el 15/01/2013 00:20:25
Gracias Isaias.
Te agradezco mucho la ayuda, me sirvio de bastante.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Buscar dato de una tabla en otra tabla

Publicado por Isaias (3180 intervenciones) el 15/01/2013 00:44:44
De nada, para servirte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar