读书人

安插不重复信息到别的表

发布时间: 2012-08-03 00:12:14 作者: rapoo

插入不重复信息到别的表?

SQL code
table1:id,value1,11112,22223,44444,11115,2222table2:id,table1Id,Table1Value(唯一约束)

上面的数据,我想把table1中的数据插入到table2,
但table1中value重复的值我只要插入一个
且table2的Table1Value不允许重复值,要怎么来写呢?谢谢

[解决办法]
SQL code
INSERT  table2        ( table1Id ,          Table1Value        )        SELECT  table1id ,                value        FROM    table1        GROUP BY table1id ,                value
[解决办法]
SQL code
insert into table2(table1Id,Table1Value)select min(id) as id,value from table1 group by value
[解决办法]
table2中没数据的话2、3L的方法可以解决,有数据的话还需要在插入前再比较一次
[解决办法]
2楼的可以,用分组,下面的我用的是rownumber分组,思想差不多。
SQL code
insert into table2(table1id,table1value)select id,value from (  select id,value,ROW_NUMBER() over (partition by value order by id) as rownum  from table1) as twhere rownum<2 

读书人网 >SQL Server

热点推荐