使用JOIN更新SQL Server表
利用JOIN更新数据库表是根据多个表之间的关系修改数据的一种强大技术。在Microsoft SQL Server中,UPDATE语句可以与JOIN结合使用来实现此目的。
问题:
您需要使用来自三个其他表(“group_master”、“Manufacturer_Master”和“item_master”本身)的JOIN值来更新“item_master”表中的一个字段。
解决方案:
步骤1:构建JOIN查询
SELECT im.itemid, im.sku AS iSku, gm.SKU AS GSKU, mm.ManufacturerId AS ManuId, mm.ManufacturerName, im.mf_item_number, mm.ManufacturerID FROM item_master im JOIN group_master gm ON im.sku = gm.sku JOIN Manufacturer_Master mm ON gm.ManufacturerID = mm.ManufacturerID WHERE im.mf_item_number LIKE 'STA%' AND gm.manufacturerID = 34;
此查询检索三个表中所有匹配的行,并根据指定的条件进行筛选。
步骤2:使用JOIN更新字段
以下UPDATE语句使用JOIN子句中的表别名(im、gm、mm)将“item_master”表的“mf_item_number”字段设置为“gm.SKU”的值:
UPDATE im SET mf_item_number = gm.SKU FROM item_master im JOIN group_master gm ON im.sku = gm.sku JOIN Manufacturer_Master mm ON gm.ManufacturerID = mm.ManufacturerID WHERE im.mf_item_number LIKE 'STA%' AND gm.manufacturerID = 34;
说明:
以上是如何使用多个表中的连接值更新 SQL 中的表?的详细内容。更多信息请关注PHP中文网其他相关文章!