2012-05-09 5 views
0

안녕하세요 같은 SQL 코드가 있습니다두 행에 동일한 결과가 표시되는 이유는 무엇입니까?

SELECT vote_id, (SELECT type FROM vote_types WHERE id= 1) AS answer 
FROM poll_answers 
WHERE question_id =1; 

을 그리고 그것은 나를 표시는 두 번째 줄에 = 2 vote_id 다른 ANSWER2를 표시 할 수 있도록이 문제를 만드는 방법

enter image description here

및 answer1을 다시 표시하지 않습니까?

감사합니다.

+3

에 대해 알아해야 http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql ([SQL 조인] -joins.html). – eggyal

+0

사용 join othervise 귀하의 질문에 대한 설명을 정확하게 –

+0

@eggyal 그 링크에 대한 감사합니다 그것에 대해 약간의 빛을 준. 어쨌든 나는 질문을했기 때문에 여전히 문제가있다. SELECT poll_answers.question_id, v.type AS answer poll_answers JOIN vote_types v ON poll_answers.vote_id = v.id WHERE question_id = 1; 그러나 그것은 id 1로 지정된 질문에 대한 답을 표시합니다. 나는 선택한 설문에서 각 질문에 대한 모든 대답을 인쇄하고 싶습니다. 내 설문 조사 테이블은 poll_referendum이고 id 및 name 열이 있습니다. 나는 그것을 어떻게 할 것이냐? 어떤 빛이라도? – takeit

답변

0
SELECT poll_questions.id, vote_types.type AS answer 
FROM poll_questions 
    JOIN poll_answers ON poll_questions.id = poll_answers.question_id 
    JOIN vote_types ON poll_answers.vote_id = vote_types.id 
WHERE poll_questions.referendum_id = 1 
+0

정말 고맙습니다. :) – takeit

0

테이블을 모르겠습니다. 그러나 내가 생각 - 쿼리가

SELECT vote_id, type as answer 
    FROM poll_answers, vote_types 
    WHERE question_id =1 and question_id = id; 
관련 문제