有a,b两个表
create table a
(
bm varchar(5),
mc varchar(5)
)
create table b
(
bm varchar(5),
mc varchar(5)
)
1.删除a表中与b表中数据完全一样的行(两个字段都得相等)。
2.删除a表中所有相同的数据(两个字段都相等),但是得保留一条该记录。
请高手指点。。可否不用游标解决这两个问题
create table a
(
bm varchar(5),
mc varchar(5)
)
create table b
(
bm varchar(5),
mc varchar(5)
)
1.删除a表中与b表中数据完全一样的行(两个字段都得相等)。
2.删除a表中所有相同的数据(两个字段都相等),但是得保留一条该记录。
请高手指点。。可否不用游标解决这两个问题
DELETE a FROM a INNER JOIN B ON a.bm=b.bm AND a.mc=b.mc
2
SELECT bm,mc,identity(int) id into #t FROM a
TRUNCATE TABLE a
INSERT a SELECT bm,mc FROM #t GROUP BY bm,mc
DROP TABLE #t未测试,可能有手误
delete from a
where exists
(
select 1 from b where a.bm=b.bm and a.mc=b.mc
)--2.删除a表中所有相同的数据(两个字段都相等),但是得保留一条该记录。
select distinct * into # from a
truncate table a
insert into a select * from #
drop table #