2014-10-13 3 views
0

질문에 대한 구문 및 프레임이 표준에 맞지 않는 경우 우선 사과드립니다.두 테이블의 두 열을 비교하는 중입니까?

나는 MySQL 데이터베이스가 있습니다. idquestion, userAnswer, userEmailAddress 열이 포함 된 테이블 응답이 있습니다.

다른 테이블 multi_choice_pool에는 idQuestion, answer_all이 포함되어 있습니다.

모든 answer.userEmailAddress에는 idQuestion 및 userAnswer의 여러 항목이 있습니다.

응답 테이블에서 userEmailAddress를 얻고 싶습니다.이 userEmailAddress의 id와 대답은 i_q와 multi_choice_pool의 답변과 같습니다.

나는이 썼다.? 나에게 오류주고있다

Select answer.userEmailAddress from answer 
where (answer.idQuestion=multi_choice_pool.idQuestion) AND 
(answer.userAnswer=multi_choice_pool.answer_all); 

: 절 ​​

구문 잘못인가 아니면 쿼리 자체를 잘못 또는 경우에 "알 수없는 열 'multi_choice_pool를'내 접근 방식은 시정 및 제안을 제공 할 수 있습니까?를 잘되지 않는 이유는 무엇입니까?

+0

작은 글자와 큰 글자의 조합을 사용하지 않고 '_'문자로 개체를 구분하는 것이 좋습니다. – Beri

+0

"multi_choice_pool"테이블을 사용하려면 "select"에 포함되어야합니다. 즉, "select answer.userEmailAddress from answer, multi_choice_pool ..... ....." – 5122014009

답변

0
Select answer.userEmailAddress 
from answer left join multi_choice_pool 
on answer.idQuestion = multi_choice_pool.idQuestion 
and answer.userAnswer = multi_choice_pool.answer_all; 
+0

이 작동했습니다! 감사! – zydexo

0

당신이 WHERE 절을 필요로하지 않는 것 같다.

여기

SELECT answ.userEmailAddress 
FROM answer answ 
LEFT OUTER JOIN multi_choice_pool mcp 
    ON answ.idQuestion = mcp.idQuestion 
    AND answ.userAnswer = mcp.answer_all 

MySQL documentation for JOIN입니다 :

는하지만 당신은 JOIN 하나가 필요합니다.

+0

'필드 목록의'알 수없는 column'answer.userEmailAddress '오류가 발생합니다. 이 방법으로도 'TableName.ColumnName'에 액세스 할 수 있습니까? 열이 있기 때문입니다. – zydexo

+1

answ.userEmailAddress –

+0

Mikhail이 맞습니다. 게시물이 수정되었습니다. – kmas

관련 문제