如何为列中找到的每个唯一值插入行

时间:2012-02-11 10:57:03

标签: sql sql-server sql-server-2008

我如何在SQL Server 2008中编写一个SQL语句,为同一个表中的一列中找到的每个不同值插入一行?

编辑:
我希望将表添加到我正在检查的同一个表中。

我使用列[Name]和[Hobby]标准化了表格,那么如何为每个名称插入一个新的爱好?

输入非常感谢=]

2 个答案:

答案 0 :(得分:1)

INSERT INTO TargetTable (SomeColumn)
SELECT DISTINCT TheSourceColumn From SomeSourceTable;

如果这不是您想要的,请提供更多详细信息,例如数据模型的外观等。

更新 - 从OP编辑后:

我不确定您的数据模型是否合适但您可以这样做:

INSERT INTO TheTable (NAME, HOBBY)
SELECT DISTINCT X.NAME, @SomeHOBBY FROM TheTable X;

答案 1 :(得分:0)

您可以使用类似

的内容
Insert into table1
Select distinct col1 from tabl2

只要table1只有一列与tabl2的col1具有相同数据类型的列,上述内容就可以正常工作

相关问题