我有一个MySQL语句,需要一些帮助。我提取的数据是正确的,但我只需要一些帮助,排除不需要的记录。如果候选者剩余的尝试次数等于0,我不想提取该记录,但正如您所看到的,我正在使用子查询来生成候选者可能具有的重新组合尝试次数。
有没有办法使用WHERE语句中的remaining_attempts字段来排除不需要的记录?
SELECT (
SELECT count(*) AS Number_Attempts_Used
FROM candidate_exam_record
WHERE candidate_exam_record.idcandidate_eligibilty = candidate_eligibilty.idcandidate_eligibilty
) AS remaining_attempts
, (
SELECT CASE WHEN count(*) > '0' THEN candidate_exam_record.idcandidate_eligibilty END
FROM candidate_exam_record
WHERE candidate_exam_record.idcandidate_eligibilty = candidate_eligibilty.idcandidate_eligibilty) AS EL_ID
FROM candidate_eligibilty
INNER JOIN candidate ON candidate_eligibilty.idcandidate = candidate.idcandidate
INNER JOIN exam ON candidate_eligibilty.exam_id = exam.exam_id
INNER JOIN jurisdiction ON exam.jurisdiction_id = jurisdiction.jurisdiction_id
WHERE jurisdiction.jurisdiction_id = 'xxxx'
AND candidate_eligibilty.eligibility_end_date >= '2013-02-19'
AND remaining_attempts > '0'
它很乱,但对我来说还可以。试着把'0'
改成普通的旧0
。我想你把它存储为INT,对吗?