2

ERD

我与老客户的问题加上过时的系统。部分问题。这 3 个表包含数据库中的现有数据。让我解释一下,当时的情景是什么,然后我希望你们能帮助我完成这项工作。

场景

  • 正如您可能想象的那样,有很多产品,尤其是 ProductZone...
  • 客户添加新区域(假设新区域 U、V、W、X、Y、Z),不幸的是,ProductZone 没有!
  • 客户需要更新(插入)ProductZones 以使所有现有产品引用新区域和一些较旧的区域(假设较旧的区域 R、S、T)如果它不存在,我在这里遇到......,需要你的帮助!

说明

如果我理解正确,我必须大量插入 ProductZone,在这种情况下,通过复杂的 T-SQL 过滤条件和插入语句。

我很乐意接受任何建议,在此先感谢。

4

1 回答 1

1

此查询将填充 ProductZone 表中可用的现有产品和 Product 表中可用的新产品的区域。

INSERT   INTO ProductZone 
SELECT ZoneNo, 
       ProductNo 
FROM   Product a 
       CROSS JOIN ZONE b 
WHERE  NOT EXISTS (SELECT 1 
                   FROM   ProductZone c 
                   WHERE  a.ProductNo = c.ProductNo 
                          AND a.zone = c.zone) 
于 2012-06-20T14:46:55.180 回答