请教有难度的SQL语句
A表中有字段:
战盟名,盟主,战盟信息
B表中有字段:
战盟成员,战盟名,战盟等级
按程序原意,一个盟主它的名字,不单单要在A表中的 "盟主 "这个字段有记录,而且在B表中的 "战盟成员 "中也有记录.由于原来 "战盟名 "没有设置主键,导致在A表中出现了一些重复的战盟名,同时有一些盟主在B表 "战盟成员 "字段中并不存在.
现在要删除符合以下两个条件的数据:
1.在A表中战盟名重复的数据
2.在A表中盟主名在B表 "成员列表 "中不存在的数据.
------解决方案--------------------删除重复项不是一条语言就可以得到的
select distinct * into temptablename from oldtablename
go
truncate table oldtablename
go
insert oldtablename
select * from temptablename
go
drop table temptablename
go
这是删除重复项
删除没有名的
delete from A where 盟主 not in (select 战盟成员 from B)