查询中不存在 LIMIT 的 LEFT JOIN

LEFT JOIN without LIMIT existing in query

我有以下 tables:

投票:

id | question   | votes
1  | Your name? | 2

poll_answers:

id | id_poll | answer
1  | 1       | John
2  | 1       | Jorge
3  | 1       | Charlie

我想对 return poll 数据和 poll_answers 数据做一个 SELECTid_poll 对应于 id poll table.

所以,我做到了:

SELECT question, votes, answer
FROM poll
LEFT JOIN poll_answers
ON poll.id = id_poll
WHERE poll.id = '1'
LIMIT 1

预期输出将是 return poll 数据和 poll_answers table 上的三个答案,但是,输出是:

array(1) { [0]=> array(3) { ["question"]=> string(10) "Your name?" ["votes"]=> string(1) "2" ["answer"]=> string(5) "Charlie" } }

我想要的:

array(1) { [0]=> array(3) { ["question"]=> string(10) "Your name?" ["votes"]=> string(1) "2" ["answer"]=> string(7) "Charlie" ["answer"]=> string(5) "Jorge" ["answer"]=> string(4) "John" } }

如何做到这一点,在主查询上使用 LIMIT 但在 LEFT JOIN 上不使用 LIMIT

我想你想要聚合:

SELECT p.question, p.votes, GROUP_CONCAT(pa.answer) as answer
FROM poll p LEFT JOIN
     poll_answers pa
     ON p.id = pa.id_poll
WHERE p.id = 1
GROUP BY p.id;