delete from 定额_炉料线材质参数 a where (a.造型中心码,a.材质类别) in (select 造型中心码,材质类别 from 定额_炉料线材质参数 group by 造型中心码,材质类别 having count(*) > 1)
按照网上写的是将表定额_炉料线材质参数里面 造型中心码和材质类别有重复大于1的记录全部删掉,但是运行老是说第一行的 a 有错误,请问那里错了呢?
按照网上写的是将表定额_炉料线材质参数里面 造型中心码和材质类别有重复大于1的记录全部删掉,但是运行老是说第一行的 a 有错误,请问那里错了呢?
and
where a.材质类别 in (select 材质类别 from 定额_炉料线材质参数 group by 造型中心码,材质类别 having count(*) > 1
b in ('ddd','eee','fff')
不能(a,b) in ( 1,2,3,4,'ddd','eee')
insert into 定额_炉料线材质参数 select 1,'A',100
insert into 定额_炉料线材质参数 select 1,'A',150
insert into 定额_炉料线材质参数 select 2,'B',20
go
delete 定额_炉料线材质参数 from 定额_炉料线材质参数 a
where exists(select 1 from 定额_炉料线材质参数 where 造型中心码=a.造型中心码 and 材质类别=a.材质类别 group by 造型中心码,材质类别 having count(*) > 1)
go
select * from 定额_炉料线材质参数
go
drop table 定额_炉料线材质参数
/*
造型中心码 材质类别 othercolumn
----------- ---------- -----------
2 B 20(1 行受影响)*/
where (a.造型中心码,a.材质类别) in
(select 造型中心码,材质类别 from 定额_炉料线材质参数 group by 造型中心码,材质类别 having count(*)>1)
and 生铁种类 not in (select min(生铁种类) from 定额_炉料线材质参数 group by 造型中心码,材质类别 having count(*)>1)表一共就三个字段 造型中心码,材质类别,生铁种类
delete from 定额_炉料线材质参数 a
where not exists (select 1 from 定额_炉料线材质参数 b where a.造型中心码=b.造型中心码 and a.材质类别=b.材质类别 and a.生铁种类>b.生铁种类)