2013-02-19 62 views
0

我有一个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

你需要这个计数吗(我的意思是你需要返回的数据中的remaining_attempts)? – 2013-02-19 22:29:42

+0

没有必要返回remaining_attempts。 – 2013-02-19 22:38:24

回答

0

这很杂乱,但它看起来对我很好。尝试更改'0'只是普通的旧0。你将它存储为我认为的INT,对不对?

+0

存在这种情况,remaining_attempts字段不是由子子查询生成的表中的字段。 – 2013-02-19 22:40:20

+0

您能否看到实际存储在remaining_attempts中的值的类型? – 2013-02-19 22:42:03