0

我有一张表,其中包含以下字段

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

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

我想将此表中的所有记录插入到两个具有类似结构的单独表中

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

如果我理解正确,您的问题是当您从第一个表中选择第二个表时,您会为每个产品获得多行。为了解决这个问题,您可以执行以下操作:

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

然后插入第三张表只需要:

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