例如,假设我有一个名为Movie的表,其中包含2列- id,标题
Data:
1, killbill
2, endgame和另一个表作为强制转换为2列的- id,名称。
数据:
1, Uma
1, David
2, RobertCast表有演员,id与电影相同。
我希望从SELECT查询中获得的输出如下:
1, killbill, [uma,David]
2, endgame,[Robert]我试过的是:
select m.*,json_array(c.name) from movie m inner join cast c on c.id = m.id 但它会返回:
1 killbill [David]
1 killbill [Uma]
2 endgame [Robert]请建议正确的方法分组数据。我也尝试了group,但是它返回的数据更少。
如果我使用json_group_array,我只能得到一部所有演员的电影
1 killbill ["David","Uma","Robert"]发布于 2020-06-16 17:26:47
您必须使用group by电影并使用聚合函数json_group_array()而不是json_array()。
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见演示。
结果:
| id | title | names |
| --- | -------- | --------------- |
| 1 | killbill | ["David","Uma"] |
| 2 | endgame | ["Robert"] |https://stackoverflow.com/questions/62411227
复制相似问题