MySQL:一对多关系表,将所有选择命令返回到单个 json 列

我有一个包含 id 和人名的标题表。然后我有很多表格包含那个特定人的详细信息,例如电话号码、地址、性别、出生地等。

如何在加入所有这些表后返回 SELECT 命令,但仅在一个 json 填充列中返回它?

输出应该是这样的:{"id":''236732", "name":"John Doe", "phone": "4875696", ... }

我真的可以吗?

table_header## 标题##

身份证名称

1 约翰·多伊

2 杰克斯派洛

3 无名氏

....

...

....

5000简丝

table_detail id phone_number 1 34574358 2 68538039 3 7537689237 .... ... 5000 89457987

table_detail2 id 地址 1 xxxxxxxx 2 xxxxxxxx 3 xxxxxxxx .... .... .... 5000 xxxxxxx

table_detail3 .... .... ..... .... .... table_detail10(几乎相同的结构,每个都有5000多条记录)

我想在 table_header 中创建一个 json 类型的附加字段,其中包含特定用户的所有详细信息。


翻翻过去那场雪
浏览 105回答 1
1回答

心有法竹

当你说“作为一行”时,它让我想起了我遇到的一个问题,回显是多个 json 对象,但作为一个字符串发送,我不得不在客户端 JS 中解析它,如下所示:var lines = JSON.parse('[' + this.responseText.replace(/}{/g, '},{') + ']');问题是对象之间没有分隔符,这使得它成为一个数组。这就是为什么你想要它作为一个单一的 json 对象吗?如果是这样,这可能是您的解决方法。php 非常简单,就像尼克说的那样:echo json_encode($data);
打开App,查看更多内容
随时随地看视频慕课网APP