2013-02-19 2 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가 필요합니까)? –

+0

remaining_attempts가 리턴 될 필요는 없습니다. –

답변

0

지저분하지만 괜찮아 보입니다. '0'을 평범한 이전 0으로 변경해보십시오. 내가 생각하는 지능으로 그것을 저장하고있는거야, 맞지?

+0

ruby가 남아 있습니다. remaining_attempts 필드가 하위 하위 쿼리에 의해 생성 된 테이블의 필드가 아닙니다. –

+0

실제로 어떤 값 유형이 remaining_attempts에 저장되어 있는지 확인할 수 있습니까? –

관련 문제