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
-----------------------------
-----------------------------
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
-----------------------------
---
select * from table1 where binary_checksum(Column1 , Column2) not in(select binary_checksum(Column1 , Column2) from table2)
delete
table1
where
binary_checksum(Column1 , Column2) not in(select binary_checksum(Column1 , Column2) from table2)
from
table1 t
where
exists(select 1 from table2 where Column1=t.Column1 and Column2=t.Column2)
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
*/
delete Table1 from table1 a where exists(select 1 from table2 where Column1=a.Column1 and Column2=a.Column1)