日期:2014-05-17  浏览次数:20620 次

跪求SQL一条,小弟谢过了~



userid 为人    remark_f为获得证书
如图   现在 有一个需求  一个人可以有多个证书,如果参数是动态比如为3,我怎么通过SQL查出获得证书为3个的所有人数据?人和证书是一对多关系    ,一人一证为一条数据。 冒昧求之,谢各位大牛了~~

例如:参数为4  那么结果查询应为(当然可能不止一个用户哟)
ORACLE?SQL

------解决方案--------------------
SELECT * FROM TABLE_NAME A
 WHERE A.USERID IN 
(SELECT AA.USERID FROM TABLE_NAME AA GROUP BY AA.USERID HAVING COUNT(*)=3)

这样应该可以满足吧
------解决方案--------------------

select userid,cardeffect_f, remark_f from user a where (select count(*) from user b where a.userid=b.userid)=3