关于2表删除的问题

来源:互联网 发布:招聘网络推广专员 编辑:程序博客网 时间:2024/06/07 19:57

问题:表1
aa bb cc
AA 1 afdf
AA 2 dfa
AA 3 efafe
BB 2 dfa
CC 3 vagd
CC 4 rgdfad
表2
aa bb
AA 2
CC 4

aa,bb为主键,当表2出现时,删除表1的相应行,操作后表1为
aa bb cc
AA 1 afdf
AA 3 efafe
BB 2 dfa
CC 3 vagd 

 

create table #tab1(aa varchar(2),bb int,cc varchar(10))
insert into #tab1 values('AA',1,'afdf')
insert into #tab1 values('AA',2,'dfa')
insert into #tab1 values('AA',3,'efafe')
insert into #tab1 values('BB',2,'dfa')
insert into #tab1 values('CC',3,'vagd')
insert into #tab1 values('CC',4,'rgdfad')

create table #tab2(aa varchar(2),bb int)
INSERT INTO #TAB2 VALUES('AA',2)
INSERT INTO #TAB2 VALUES('CC',4)

delete  #tab1 from #tab1 a where exists (select 1 from #tab2 where aa=a.aa and bb=a.bb)

aa   bb          cc
---- ----------- ----------
AA   1           afdf
AA  
3           efafe
BB  
2           dfa
CC  
3           vagd