表A aid(int可能有重复)
表B bid(int可能有重复)检查表A所有记录,如果id的值在表B里bid没有对应的记录则删除表A的该记录,比如表A有一id为8888的记录,而表B的bid列没有8888的值则删除此记录。要求效率尽可能高,本人不会T-SQL……

解决方案 »

  1.   

    DELETE A WHERE NOT EXISTS(SELECT 1 FROM B WHERE Bid=A.AID)
      

  2.   

    delete A
    where not exists (select 1 from B where bid=A.aid)
      

  3.   

    表A aid(int可能有重复)
    表B bid(int可能有重复)检查表A所有记录,如果id的值在表B里bid没有对应的记录则删除表A的该记录,比如表A有一id为8888的记录,而表B的bid列没有8888的值则删除此记录。要求效率尽可能高,本人不会T-SQL……delete from A where not exists(select top 1 0 from B where A.aid=B.bid)
      

  4.   

    delete from A  where not exists(select * from b where b.id=a.id)