假设有以下结构,我需要找出是否存在每个CP4 + CP3组合有多个DESC的情况。我只需知道它们是否存在。不是他们在哪里。
CP4,整数
CP3,整数
DESC,varchar(50)
答案 0 :(得分:4)
您可以使用自联接进行检查:如果以下查询返回任何行,则CP4 + CP3组合有多个DESC:
select *
from YourTable a
inner join YourTable b
on a.CP3 = b.CP3
and a.CP4 = b.CP4
and a.DESC <> b.DESC
一个小组也会工作:
select count(*)
from YourTable
group by CP3, CP4
having count(distinct DESC) > 1
顺便说一句,DESC是一个SQL关键字;您可能必须以特定于数据库的方式转义它。
答案 1 :(得分:0)
SELECT COUNT(DESC)
FROM [Table]
GROUP BY CP4, CP3
HAVING COUNT(DESC) > 1
检查此查询是否返回超过0行然后返回true,否则返回false。