希望您能在我转圈时为我提供帮助!
我需要计算没有一定资格的人数。
我没有尝试过,但这会返回除我希望计数的资格以外的所有其他资格。我想具体计算不具备该资格的人数,即表格中没有行条目。
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
你们能给我或向我指出正确方向的任何帮助将不胜感激。
最佳答案
您应该为不在资格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
关于mysql - 不具备资格的SQL Count人数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49856058/