CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

散分,再问如何删除表中的重复记录?有重复的记录全部过滤

楼主jackinsh(Jack)2006-03-14 16:25:41 在 MS-SQL Server / 基础类 提问

周五我已经发过一个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

相关问题

  • 如何删除表中的重复记录?有重复的记录全部过滤
  • 求助删除表中重复记录
  • 删除表中重复的行
  • 求删除表中重复记录的sql语句!!!
  • 请问在delphi中如何将表中重复记录删除???
  • +++++++ 如何在一个表中删除重复的项?+++++++
  • 怎样删除一个表中的重复数据。
  • 如何删除表中的重复记录?
  • 如何删除表中重复的记录,只留下一条
  • 请问如何删除这样一个表的重复记录

关键词

  • 销售
  • 记录
  • jinger
  • 过滤
  • 表
  • 借贷
  • 不解
  • 邹捷
  • 发票号
  • temp

得分解答快速导航

  • 帖主:jackinsh
  • zjcxc

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo