通常我们查重是这么写的,按照某个条件筛选重复
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)
将多个条件相加,这样可以合并为一个列,不同数据拼接出来的数据肯定不同,所以可以解决多条件筛重
转载于:https://blog.51cto.com/charlist/1697482
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109319.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...