sql统计没有资格证书的人数

2izufjch  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(358)

希望你能帮助我,因为我在兜圈子!
我需要计算一下没有某种资格的人数。
我没有试过,但这将返回除我希望计算的资格之外的所有其他资格。然而,我想具体计算不具备资格的人数,即表中没有行条目。

SELECT COUNT(tmp.personnelID) AS Number,
        tmp.QualificationID

FROM(SELECT pa.PersonnelID,
            pq.QualificationID 

FROM dbo.PersonnelActive pa
LEFT JOIN dbo.PersonnelQualifications pq ON pq.PersonnelID = pa.PersonnelID
WHERE NOT pq.QualificationID = 125) tmp

GROUP BY tmp.QualificationID

如果你们能给我任何帮助或给我指明正确的方向,我将不胜感激。

z8dt9xmd

z8dt9xmd1#

您应该计算不在qualificationid=125的personnelid中的personnelid

SELECT COUNT(pa.personnelID) AS Num,
        pq.QualificationID

FROM PersonnelActive pa
INNER JOIN dbo.PersonnelQualifications pq ON pq.PersonnelID = pa.PersonnelID
where pa.PersonnelID NOT IN ( SELECT pa.PersonnelID

FROM dbo.PersonnelActive pa
INNER JOIN dbo.PersonnelQualifications pq ON pq.PersonnelID = pa.PersonnelID
WHERE  pq.QualificationID = 125
) 

GROUP BY pq.QualificationID

相关问题