MsSQL   发布时间:2022-05-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了用于检查SQL Server中组中是否存在确切ID的逻辑大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一些样本数据,如:
INSERT INTO myTable ([ID],[FK_ID],[TYPE_ID])
VALUES
    (1,10,1),(2,11,(3,2),(4,12,(5,(6,3),(7,14,(8,3)

现在,我在这里尝试通过FK_ID检查每个组中是否具有TYPE_ID值1和&的完全匹配. 2.

所以,预期的输出是这样的

>(1,1)这应该失败

>在FK_ID组中,我们只有一条记录

>(2,2)这应该通过

>在FK_ID组中,我们有两条记录.
>并且TYPE_ID都匹配1& 2个值.

>(4,3)这也应该失败

>因为我们在这里有3条记录.

>(7,3)这也应该失败

>即使我们有两个确切的记录,它也应该失败,因为这里的TYPE_ID与1& 2个值.

这是我的尝试:

SELEct * 
from myTable t1
where exists (SELEct count(t2.TYPE_ID) 
              from myTable t2 
              where t2.FK_ID = t1.FK_ID
                and t2.TYPE_ID in (1,2)
              group by t2.FK_ID 
              having count(t2.TYPE_ID) = 2);

这没有按预期工作,因为它也传递FK_ID = 12,它有三个记录.

演示:SQL Fiddle

解决方法

这可能有几种不同的方法.一个可能是:
SELECT FK_ID 
FROM myTable
GROUP BY FK_ID
HAVING COUNT(*) = 2
AND MIN(TYPE_ID) = 1
AND MAX(TYPE_ID) = 2

大佬总结

以上是大佬教程为你收集整理的用于检查SQL Server中组中是否存在确切ID的逻辑全部内容,希望文章能够帮你解决用于检查SQL Server中组中是否存在确切ID的逻辑所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: