插入不重复信息到别的表?
- 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