0
我不确定这是否甚至可以直接从MySQL查询(而不处理数据后),但我一直在思考一些事情......检索并格式化所有在MySQL结果列中有多条记录
假设我们有一张桌子,作者和另一本书。作者可以有许多书籍,书籍表中的author_id列表明了这一点。
是否有执行的查询方式:
1)获取单个作者的记录,与列名“图书”持有的账面记录的数组,属于作者。
2)结果相同,但对于数据库中的所有作者。
关于这是否可能的任何输入,以及任何方法将不胜感激!
更新
这是第一个查询的期望输出的一个例子:
stdClass Object
(
[id] => 1
[name] => Test Author
[age] => 28
[books] => Array
(
[0] => stdClass Object
(
[title] => Book 1
[id] => 1
)
[1] => stdClass Object
(
[title] => Book 2
[id] => 2
)
)
)
我不相信GROUP_CONCAT就是我要找的,因为这concats单打行成一个字符串,现在所有记录到一个记录数组 - 检查我的编辑为例来自查询的期望结果。 – Sam 2012-07-07 00:37:29
您可以在PHP中使用['implode()'](http://us3.php.net/manual/en/function.implode.php)轻松地将其转换为数组。这是你最接近MySQL的地方。 – 2012-07-07 00:39:24
虽然我只有一个ID数组 - 没有其他图书信息。我不太乐观,我会为这个问题找到一个MySQL解决方案,我想我可能不得不继续使用JOINS并在查询执行后过滤/重构数据。尽管感谢您的答案! – Sam 2012-07-07 00:42:31