2012-05-09 26 views
0

こんにちは、私はそのようなSQLコードを持っている:2行に同じ結果が表示されるのはなぜですか?

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

をし、それは私が表示されます。

enter image description here

それは2行目= 2をvote_id別ANSWER2を表示することができますので、この質問を作成する方法と、再度answer1を表示しない?

おかげ

+3

[SQLジョイン](http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sqlについて学ぶべきです-joins.html)。 – eggyal

+0

use 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と名前を持っています。どうすればいい?どんな光? – 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;