类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
表A
id id_c kc_i
1 001 0
2 001 1
3 002 0
6 002 0
4 003 1
5 003 2
7 003 0
求结果
id id_c kc_i
2 001 1
3 002 0
4 003 1
5 003 2
意思是:当表中有相同的id_c时,如果有kc_i<>0 ,kc_i为0的删除.
但如果kc_i都为0,则要保留一条。
网友回答:
delete a from a aa
where kc_i=0 and(
exists(select * from a where id_c=aa.id_c and kc_i<>0)
or
exists(select * from a where id_c=aa.id_c and kc_i=0 and id<a.id))