小编Edw*_*ong的帖子

一个查询中的 MySQL 一对多关系

如何在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 但它如何像我向您展示的那样存档返回结果格式?

mysql one-to-many

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

mysql ×1

one-to-many ×1