delete from a where exist(select * from B)

解决方案 »

  1.   

    delete from 表A
    where 表A的关键字 in (select 表B的关键字 FROM 表B)  ORdelete from A
    select * from A,B
    WHERE A.关键字 =B.关键字 
      

  2.   

    我说得详细一点,在SQL语句中不能出现表的字段,包括关键字。
    这样的方式也不行:
    delete from a where exist(select * from B) 
    会把表A的所有数据都删除掉。
      

  3.   

    条件是与表B完全相同的那一部分?什么叫做完全相同,如果是text类型的情况
    但SQL语句中不能涉及到具体字段? 表很多吗?如果不是的话,最好是一个一个的删除,
     如果是 SQL server,思路:
    获取表A/B的字段名称列表,(XXcolumns之类的系统表),
    构造删除条件语句 @strDelete
    执行删除条件语句 exec(@strDelete)
      

  4.   

    不错的问题,估计有点难度,对SQL语法不是很懂,懂的人帮忙解决一下吧