Table1
-----------------------------
Column1     Column2
1           A 
2           B
3           C
4           D
5           E
-----------------------------Table2
----------------------------- 
Column1     Column2  
1           A 
3           C
-----------------------------要求用一段SQL从Table1中删除Table2中Column1和Column2都相同的数据。
结果应该是
Table1
-----------------------------
Column1     Column2
2           B
4           D
5           E
-----------------------------

解决方案 »

  1.   


    ---
    select * from table1  where binary_checksum(Column1 ,  Column2) not in(select binary_checksum(Column1 ,  Column2) from table2)
      

  2.   

    删除:
    delete  
    table1    
    where   
    binary_checksum(Column1   ,     Column2)   not   in(select   binary_checksum(Column1   ,  Column2)   from   table2)
      

  3.   

    delete t
    from  
    table1    t
    where   
    exists(select 1 from table2 where Column1=t.Column1 and Column2=t.Column2)
      

  4.   

    delete Table1 from Table1 a join Table2 b on a.Column1=b.Column1 and a.Column2=b.Column2
      

  5.   

    --原始数据:@Table1
    declare @Table1 table(Column1 int,Column2 varchar(1))
    insert @Table1
    select 1,'A' union all
    select 2,'B' union all
    select 3,'C' union all
    select 4,'D' union all
    select 5,'E'
    --原始数据:@Table2
    declare @Table2 table(Column1 int,Column2 varchar(1))
    insert @Table2
    select 1,'A' union all
    select 3,'C'delete @Table1 from @Table1 a join @Table2 b on a.Column1=b.Column1 and a.Column2=b.Column2select * from @Table1/*
    Column1           Column2
    2                       B
    4                       D
    5                       E
    */
      

  6.   


    delete Table1 from table1 a where exists(select 1 from table2 where Column1=a.Column1 and Column2=a.Column1)