首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用json1将数据作为JSON进行内部连接和解析

如何使用json1将数据作为JSON进行内部连接和解析
EN

Stack Overflow用户
提问于 2020-06-16 14:44:22
回答 1查看 231关注 0票数 1

例如,假设我有一个名为Movie的表,其中包含2列- id,标题

Data

代码语言:javascript
复制
1, killbill
2, endgame

和另一个表作为强制转换为2列的- id,名称。

数据:

代码语言:javascript
复制
1, Uma
1, David
2, Robert

Cast表有演员,id与电影相同。

我希望从SELECT查询中获得的输出如下:

代码语言:javascript
复制
1, killbill, [uma,David]
2, endgame,[Robert]

我试过的是:

代码语言:javascript
复制
select m.*,json_array(c.name) from movie m inner join cast c on c.id = m.id  

但它会返回:

代码语言:javascript
复制
1   killbill    [David]
1   killbill    [Uma]
2   endgame     [Robert]

请建议正确的方法分组数据。我也尝试了group,但是它返回的数据更少。

如果我使用json_group_array,我只能得到一部所有演员的电影

代码语言:javascript
复制
1   killbill    ["David","Uma","Robert"]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-16 17:26:47

您必须使用group by电影并使用聚合函数json_group_array()而不是json_array()

代码语言:javascript
复制
select m.id, m.title, json_group_array(c.name) names
from movie m inner join cast c 
on c.id = m.id 
group by m.id, m.title

演示

结果:

代码语言:javascript
复制
| id  | title    | names           |
| --- | -------- | --------------- |
| 1   | killbill | ["David","Uma"] |
| 2   | endgame  | ["Robert"]      |
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62411227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档