日期:2014-05-18  浏览次数:20586 次

如何删除2张表中的重复记录,2张表的外键是由多个字段组合起来的组合键关联的
例如:
Table1:     主键{a,b}
字段     a         b         c         d
            1         1         1         1
            1         2         1         3
            2         1         4         2

Table2:     主键{a,b}
字段     a         b         e         f
            1         3         6         2
            1         2         3         3
            1         1         5         1

Table1   和   Table2   用a和b关联起来,我想删除Table1中的记录,这些记录的判定方式是在Table2中有相同的键值,也就是说Table1.a=Table2.a   and   Table1.b=Table2.b  

这个该怎么写sql语句?我想的是   delete   from   Table1   where   a   in   (select   Table1.a   from   Table1   join   Table2   on   Table1.a=Table2.a   and   Table1.b=Table2.b   )  
那字段b怎么确定呢?




------解决方案--------------------
delete Table1 from Table1 Inner Join Table2 On Table1.a=Table2.a and Table1.b=Table2.b