SQL计数未持有资格的人数

时间:2018-04-16 11:21:52

标签: mysql

希望你能帮助我,因为我要围成一圈!

我需要计算没有一定资格的人数。

我试过没有,但这会返回除了我想要计算的其他资格以外的所有其他资格。虽然我想专门计算不符合资格的人数,即表中没有行条目。

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

我们非常感谢你们给予的任何帮助或指出我正确的方向。

1 个答案:

答案 0 :(得分:0)

您应该计算人力资源ID = 125

以下不在人员ID中的人员ID
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