2014/04/12

UPDATE CON INNER JOIN.

Buen día, muchos de nosotros cuando iniciamos en este mundo del SQL SERVER nos hemos topado con este problema, como puedo hacer un UPDATE si tengo que la necesidad de cruzar más de una tabla, les explicaré.

Primero, copiaré algunas de las tablas de la base de datos AdventureWorks2012 hacia mi base de datos pruebas.
SELECT * INTO pruebas..ProductCategory
FROM AdventureWorks2012.Production.ProductCategory

SELECT * INTO pruebas..ProductSubCategory
FROM AdventureWorks2012.Production.ProductsubCategory
Podemos observar que cada subcategoría tiene su nombre, pero para efectos del ejercicio, modificaremos ese nombre por el nombre de la categoría:
SELECT * FROM ProductCategory;
SELECT * FROM ProductSubCategory;
Con el siguiente query podemos lograr nuestro objetivo:
UPDATE psc
SET psc.Name = pc.Name
FROM productSubCategory psc
INNER JOIN productCategory pc
ON psc.ProductCategoryID = pc.ProductCategoryID ;
Y el resultado es:
SELECT * FROM ProductCategory;
SELECT * FROM ProductSubCategory;
Tal vez sea un ejemplo sencillo pero práctico, de la misma manera podemos utilizar LEFT y RIGHT JOIN para actualizar algunas filas.

Espero que esto les ayude.

SALUDOS.
COMPARTE ESTA INFORMACION SI TE PARECIO INTERESANTE

0 comentarios:

Publicar un comentario