码迷,mamicode.com
首页 > 数据库 > 详细

sql server 2008按条件筛选重复记录

时间:2015-09-23 17:12:21      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:sql多条件筛重

通常我们查重是这么写的,按照某个条件筛选重复

select * from dbo.T_ECert a 

where (a.ECERTID) in (select ECERTID from T_ECert group by ECERTID+idcard having count(*) > 1) 


但是如果需要有多个条件怎么办呢?


oracle可以这样


select * from dbo.T_ECert a 

where (a.ECERTID,a.idcard) in (select a.ECERTID,a.idcard from T_ECert group by ECERTID,idcard having count(*) > 1) 


这样可以解决多条件查询,但是sql server 2008就不可以,但我想到一个办法可以这样


select * from dbo.T_ECert a 

where (a.ECERTID+a.idcard) in (select a.ECERTID+a.idcard from T_ECert group by ECERTID+idcard having count(*) > 1) 


将多个条件相加,这样可以合并为一个列,不同数据拼接出来的数据肯定不同,所以可以解决多条件筛重

本文出自 “数据领域” 博客,请务必保留此出处http://charlist.blog.51cto.com/1616209/1697482

sql server 2008按条件筛选重复记录

标签:sql多条件筛重

原文地址:http://charlist.blog.51cto.com/1616209/1697482

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!