日期:2014-05-17  浏览次数:20793 次

C# sql数据库删除记录问题

有 A B两表

A 表

  编码 名称
-------------------
  2 大米
  3 高粱

B表

  id(主) 编码 数量
-------------------------
  1 2 30
  2 2 40


我现在想删除A表里的记录 如果B表里有它的相关记录则不能删除,

因为在C#里用 所以想只用一条SQL语句 发给数据库 (好象是怎么组合下SQL语句就可以实现)

大概好象 是 DELETE FROM A WHERE 编码 = '2' and select COUNT(编码) FROM B where 编码 = '2'

是上面这样么 懒的去研究了 请教 前辈们

我对SQL这块不熟 请教









------解决方案--------------------
SQL code

DELETE A WHERE A.编码 NOT IN (SELECT B.编码 from B);

------解决方案--------------------
delete from A where A.编码=你的指定的编码 and A.编码 not in (select 编码 from B);