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 回答