用in进行多表连接删除操作
我想删除系统里面的一些数据,SQL语句:
delete from mom_moallocate where cinvcode in (select cinvcode from inventory where cinvdefine3='*' and issqty=0 )
解释:
mom_moallocate和inventory 为表名
cinvdefine3='*' and issqty=0为删除条件
现在我想加入第3张表mom_orderdetail,多加一个删除条件“status=3”,status只有在mom_orderdetail才有
mom_moallocate和mom_orderdetail相关联的字段为modid
mom_moallocate和inventory相关联的字段为cinvcode(大家都懂的)
请问这样的SQL语句怎样写?最好还是用in。
[解决办法]
delete Afrom mom_moallocate A inner join mom_orderdetail B on A.modid = B.modidwhere B.[status]=3 and A.cinvcode in ( select cinvcode from inventory where cinvdefine3='*' and issqty=0 )