主题:求SQL语句的写法
hagen
[专家分:230] 发布于 2006-09-02 09:33:00
存在两个相同结构的表,表A,表B。想把表A,表B中相同的记录从表B中删除,应该怎么写?谢谢!
回复列表 (共5个回复)
沙发
gggmmtddir [专家分:2690] 发布于 2006-09-02 09:52:00
最好两个表都有个主键就简单啦
delete from 表b where 表b.主键=表a.主键
板凳
潇洒老乌龟 [专家分:1050] 发布于 2006-09-02 22:40:00
delete from 表b,表a where 表b.主键=表a.主键
3 楼
tmd8255 [专家分:80] 发布于 2006-09-04 18:41:00
楼上的两位用的方法好象不太可行
假如两个表中的主健都为id,但其他的项很可能就不是一样的,这样就删除了,那还是不行
感觉应该先判断了两条记录中所有的列都是相同的,才能删除掉吧
先用mssql去测试一下,等下来发代码
4 楼
tmd8255 [专家分:80] 发布于 2006-09-04 18:49:00
http://www.dx4n.com/it_view.asp?id=221
楼主看看这个,应该可以解决你的问题了
刚测试一下,完全成功
5 楼
gggmmtddir [专家分:2690] 发布于 2006-09-04 20:06:00
[quote]楼上的两位用的方法好象不太可行
假如两个表中的主健都为id,但其他的项很可能就不是一样的,这样就删除了,那还是不行
感觉应该先判断了两条记录中所有的列都是相同的,才能删除掉吧
先用mssql去测试一下,等下来发代码[/quote]
那主要看楼主的意思,如果是表的所有字段都作比较,是不是太麻烦啦,而且这样的表是不是有点设计不合理.
我来回复