2016-10-26 3 views
0

다음 오류로 인해 문제가 발생하지만 그 이유는 무엇입니까? MySQL 쿼리 실패 : 필드 목록의 'candidate_ID'열이 모호한가요?

MySQL Query Failed: Column 'candidate_ID' in field list is ambiguous 

SELECT SQL_CALC_FOUND_ROWS 
      candidate.candidate_id AS candidateID, 
      candidate.candidate_id AS exportID, 
      candidate.is_hot AS isHot, 
      candidate.date_modified AS dateModifiedSort, 
      candidate.date_created AS dateCreatedSort, 
     candidate_ID AS candidateID, 
candidate.first_name AS firstName, 
candidate.last_name AS lastName, 
extra_field0.value AS extra_field_value0, 
candidate.city AS city, 
candidate.desired_pay AS desiredPay, 
candidate.email1 AS email1, 
candidate.phone_cell AS phoneCell, 
DATE_FORMAT(candidate.date_modified, '%d-%m-%y') AS dateModified, 
IF(candidate_joborder_submitted.candidate_joborder_id, 1, 0) AS submitted, 
              IF(attachment_id, 1, 0) AS **strong text**attachmentPresent 
     FROM 
      candidate 
     LEFT JOIN extra_field AS extra_field0 ON candidate.candidate_id = extra_field0.data_item_id AND extra_field0.field_name = 'Job Title' AND extra_field0.data_item_type = 100 
LEFT JOIN attachment 
                ON candidate.candidate_id = attachment.data_item_id 
             AND attachment.data_item_type = 100 
               LEFT JOIN candidate_joborder AS candidate_joborder_submitted 
                ON candidate_joborder_submitted.candidate_id = candidate.candidate_id 
                AND candidate_joborder_submitted.status >= 400 
                AND candidate_joborder_submitted.site_id = 1 
                AND candidate_joborder_submitted.status != 650 LEFT JOIN saved_list_entry 
           ON saved_list_entry.data_item_type = 100 
           AND saved_list_entry.data_item_id = candidate.candidate_id 
           AND saved_list_entry.site_id = 1 
     WHERE 
      candidate.site_id = 1 



     GROUP BY candidate.candidate_id 

     ORDER BY dateModifiedSort DESC 
     LIMIT 0, 15 

어떤 도움

크게 당신은 테이블 이름없이 candidate_ID AS candidateID,이 필요

+0

여기에 'sometable.candidate_ID AS candidateID'를 지정하십시오. – Mihai

+0

'candidate_ID AS candidateID'에 테이블 이름/별명을 추가하십시오. –

+0

최소한 코드의 형식을 지정하십시오 .--( – Strawberry

답변

1

의 내 시간에 알 수있다. 당신이 당신을 알려줍니다 오류에 자세히 보면이 모호성을

0

을 피할 수

candidate.candidate_ID AS candidateID, 

: 때문에 당신이 두 개의 서로 다른 테이블에 candidate_ID는 사실에, 테이블 이름을 지정해야합니다.

는 MySQL의 쿼리 실패 : 열 'candidate_ID'필드 목록에 당신이 당신의 다른 분야처럼, candidate_ID의 테이블을 지정해야합니다 필드 목록에서

모호합니다.

candidate.candidate_ID as 'candidateID', 

candidate_ID가 쿼리의 여러 테이블에 존재하기 때문에 모호합니다.

1

귀하의 여섯 번째 항목에는 자격이없는 후보 _ ID가 있습니다.

candidate_ID AS candidateID, 

인해 이미, 나는 완전히 쿼리에서 "candidateID AS candidate_ID"를 제거하는 것이 좋습니다 candidate.candidate_id 정의 candidateID는 사실에

candidate.candidate_ID as candidateID 

작아야합니다.