0

次のようなフィールドを持つテーブルが1つあります

ID   ProductID  CategoryID and lot of columns......

1    1          1
2    1          2
3    2          1
4    2          2
5    2          3

このテーブルのすべてのレコードを、次のような構造を持つ 2 つの別々のテーブルに挿入したい

ID    ProductID   (Skip CategoryID column)....
1      1
2      2

ID  ProductID  CategoryID

1    1          1
2    1          1
3    2          2
4    2          2
5    2          2

これはコードを使用して簡単に実行できますが、純粋な SQL を使用したいと考えています。

通常、私はそれを次のように挿入できます

Insert into Table1 select * from Table2

ただし、この場合、すべての行の後に複数の挿入があります。

この点でのアイデアはかなりのものです。

4

1 に答える 1

1

私が正しく理解している場合、問題は、最初のテーブルから 2 番目のテーブルを選択すると、製品ごとに複数の行が取得されることです。これを回避するには、次のようなことができます:

INSERT INTO TABLE2 
SELECT DISTINCT 
    ProductID
    , etc. etc. -- Other columns as required
FROM
    TABLE1

そして、3番目のテーブルに挿入するには、次のことが必要です。

INSERT INTO TABLE3
SELECT DISTINCT 
    ProductID
    , CategoryID
FROM
    TABLE1
于 2012-07-12T11:52:04.923 に答える