将数据从一个表复制到另一个具有相同ID的表

时间:2016-04-07 23:54:52

标签: sql sql-server

我这里有两张桌子:

表产品:

╔═════════════╦════════════╦════════════════════╗
║  ProductID  ║  Name      ║  productImageURL   ║
╠═════════════╬════════════╬════════════════════╣
║ 10          ║  Product 1 ║                    ║
║ 20          ║  Product 2 ║                    ║
║ 30          ║  Product 3 ║                    ║
╚═════════════╩════════════╩════════════════════╝

和表ProductImage

╔═════════════╦═══════════════╦══════════════════╗
║  ImageID    ║  ProductID    ║  ImageURL        ║
╠═════════════╬═══════════════╬══════════════════╣
║ 1           ║  10           ║   /imageone.jpg  ║
║ 2           ║  20           ║   /imagetwo.jpg  ║
║ 3           ║  30           ║   /imagethree.jpg║
╚═════════════╩═══════════════╩══════════════════╝

我想将Image url从ProductImage表复制到Product table并使用相应的Product ID。我怎么在sql中做到这一点?

2 个答案:

答案 0 :(得分:1)

JOIN

中使用UPDATE
UPDATE p
    SET p.productImageURL = i.ImageURL
FROM Product p
INNER JOIN ProductImage i
    ON i.ProductID = p.ProductID

答案 1 :(得分:0)

与Felix相同,但更清晰的SQL。适用于MySql。

UPDATE Product p, ProductImage i
    SET p.productImageURL = i.ImageURL
WHERE i.ProductID = p.ProductID;