如何在ONE查询中获取数据一对多关系?
示例:一本书有很多作者。
结果返回应该是这样的:
array(
'book_title' => 'HTML for Dummies',
'book_desc' => '...',
'authors' => array(
[0] => array(
'name' => 'Someone',
'dob' => '...'
),
[1] => array(
'name' => 'Someone',
'dob' => '...'
)
)
)
Run Code Online (Sandbox Code Playgroud)
我曾尝试使用子查询来选择结果,但不是运气:
SELECT *, (
SELECT *
FROM authors
WHERE book_id = b.id
) AS authors
FROM book b;
Run Code Online (Sandbox Code Playgroud)
Mysql 错误“操作数应包含 1 列”,这意味着我只能选择一列。
您可能会建议我使用 join 但它如何像我向您展示的那样存档返回结果格式?