2

ERD

古い顧客と古いシステムに関する私の問題。問題の一部。3つのテーブルには、データベース内の既存のデータが含まれています。説明させてください、シナリオは何でしたか、そしてあなたたちが私がこの仕事を成し遂げるのを手伝ってくれることを願っています。

シナリオ

  • ご想像のとおり、多くの製品、特にProductZoneがありました...
  • お客様が新しいゾーンを追加します(新しいゾーンU、V、W、X、Y、Zを想定します)が、残念ながらProductZoneには追加されませんでした。
  • Costomerは、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 に答える