注册 登录
编程论坛 SQL Server论坛

求救,带条件删除语句

chenhong 发布于 2008-03-22 13:54, 1182 次点击
请问:如图,
只有本站会员才能查看附件,请 登录


怎样删除当BTMJ_MJQ04,BTMJ_MJQ05,BTMJ_MJQ06这几列数据同时都为0.00的这一行数据
5 回复
#2
jalonlovesja2008-03-22 14:20
delete from 表名 where BTMJ_MJQ04=0.000 and BTMJ_MJQ05=.000 and BTMJ_MJQ06=0.000
  这样就可以拉
#3
chenhong2008-03-22 14:57
继续请教
能不能先把这些列都为0.000的数据都找出来,然后把这些数据和另一个表中id相同的数据一起删除呢?(两个表的id是一样的)
#4
chenhong2008-03-22 15:28
也就是有两张表,先列出以上几列数据都为0.000的id,然后把这些id号与另一张表中相同id号的数据都删除,请问各位大大该怎样些这个语句?
#5
provoke2008-03-23 13:56
也就是有两张表,先列出以上几列数据都为0.000的id,然后把这些id号与另一张表中相同id号的数据都删除,请问各位大大该怎样些这个语句?

假设上面你贴出来的是A表,另一个表是B表。
要先从B表删除,再从A表里删除,分两个步骤。
从A表删除的上面已经给出了,就是在那一步之前先从B表删除数据:
delete from B where id in (select distinct id from A where BTMJ_MJQ04=0.000 and BTMJ_MJQ05=.000 and BTMJ_MJQ06=0.000)

如果B表的id字段是唯一主键就可以省略distinct,不过要是复合主键就还是保留的好。
#6
流星阿勇2008-03-24 22:31
同意楼上的方法。。。学习了。
1