注册 登录
编程论坛 SQL Server论坛

表排重怎么做啊?

青格儿 发布于 2010-06-02 11:39, 1600 次点击
我这有两个表,一个是总表,一个是临时表,这两个表表结构完全一样。只不过临时表中的数据是天天变化的,然后再定时把临时表中的数据转到总表中。
总表中要排重,保证总记录不重复。(即:每条记录的各个字段各是不同的,也就是没有一模一样的表记录)也就是说,把临时表中的记录导到总表中时,先要查看总表中是否已存在这条记录了,如果存在了就跳过这条记录,继续往下插下一条。


A表                                                                B表(临时表)
id  title  content   author                                        id  title  content   author   
1   news1  newsbody  kaka                                          1   news4   newsbody   qinggeer
2   news2  newsbody  kaka1                                         2   news3  newsbody    qinggeer
3   news3  newsbody  kaka2                                         3   news3  newsbody    kaka2

我要得到A表:
id  title  content   author                                       
1   news1  newsbody  kaka                                          
2   news2  newsbody  kaka1                                         
3   news3  newsbody  kaka2                                            
4   news4  newsbody  qinggeer  
5   news3  newsbody  qinggeer

A表数据量很大,我不可能union all  到另一张表,再清空A表,再把另张表给A
我该怎么做?
1 回复
#2
aei1352010-06-03 13:22
insert into a
select * from b where not exists(select * from a where a.title=b.title and a.content=b.content and a.author=b.author)
1