散分,再问如何删除表中的重复记录?有重复的记录全部过滤
周五我已经发过一个http://community.csdn.net/Expert/topic/4606/4606834.xml?temp=.9114801,请教 如何删除表中的重复记录?有重复的记录全部过滤,不料水平有限,未能完全理解邹捷的全部含义,再次请问:
各位高手:
目前本人正在做一个帐龄分析的小程序,销售时记借方做一笔,收到款后记贷方做一笔,有借贷标志,数据库中就有两条记录,导出表时需要判断发票号相同的记录全部过滤。请问各位如何处理?
发票号 = id
金额=jinger
邹捷老师指点出:
select 发票号=id
from 销售记录表
group by id
having sum(case when 借贷标记='借' then jinger else -jinger end)<>0
但我发现这只列出了ID这一列,没有其它列了,根据邹捷的提示,我写出这样的代码:
1.select id as id into #temp from tmp_z132156 group by id having count( * )>1
2.select * from tmp_z132156 where id not in(select id from #temp)
但第二步做出来后,#temp里有是有记录的,但执行语句却是空表,不解呀,怀疑是不是ID的类型不同,但进了企业管理器发现是一样的,不解呀,不解,请各位高手指点一下,谢谢了
再次,写一下本人的要求,要求从表中过滤ID号相同的全部记录,并能把剩余记录的全部字段列出来。
问题点数:50、回复次数:1Top
1 楼zjcxc(邹建)回复于 2006-03-14 20:33:27 得分 50
select a.*
from 销售记录表 a,(
select 发票号=id
from 销售记录表
group by id
having sum(case when 借贷标记='借' then jinger else -jinger end)<>0
)b where a.id=b.发票号Top




