0

このクエリがあります

SELECT ( SELECT COUNT( answer ) FROM Voters WHERE answer = 'Yes' ), 
( SELECT COUNT(answer) FROM Voters WHERE answer = 'No' ), 
question, date, image
FROM Poll, Voters
WHERE Poll.poll_id = Voters.poll_id

この繰り返し結果を受け取っていますが、一意の行を取得するにはどうすればよいですか? 私はこれを達成したい:

Yes|No|Question|date|image
 2 |1 |  ques  |date| img

ここに画像の説明を入力

4

2 に答える 2

2
SELECT
    SUM(CASE WHEN answer = 'yes' THEN 1 ELSE 0 END) "Yes",
    SUM(CASE WHEN answer = 'no'  THEN 1 ELSE 0 END) "NO",
    question, date, image
FROM Poll p
INNER JOIN Voters v ON p.poll_id = v.poll_id
GROUP BY question, date, image
于 2013-10-05T02:06:07.550 に答える
1

試す

SELECT distinct question, date, image,( SELECT COUNT( answer ) FROM Voters WHERE answer = 'Yes' ), 
    ( SELECT COUNT(answer) FROM Voters WHERE answer = 'No' )
    FROM Poll, Voters
    WHERE Poll.poll_id = Voters.poll_id
于 2013-10-05T02:00:08.077 に答える