我正在尝试接收某个球队下的所有球员以及球队的id。
我的问题是:
SELECT player.team_id, team.name, player.first_name, player.last_name FROM player, team WHERE player.team_id = team.id AND player.league = "League 1";
我将获取结果(存储在团队中)并通过以下操作将其发送给我的客户:
res.send({
success: true,
teams: teams
});
当我到达它的端点时,它会返回以下内容:
我想重新格式化这个日期,使每个独特的团队都有一个字段。它应该有一个球员字段(数组)内,所以我可以访问每个球员的球队的一部分的名字。有人知道我如何将这些数据转换成那种格式吗?
例如,对于这个数据集,在teams对象中,只有一个名为“warriors”的字段,其players数组中包含所有这些人的名字。
我试着跟随答案,但现在它只是返回一个字符串,而不是一个实际的对象。
1条答案
按热度按时间a64a0gku1#
您可以使用agggation和json函数:
resultset中的第三列是一个json数组,其中包含表示播放器的json对象,并带有键
first_name
以及last_name
.您还可以将整个resultset聚合为一个json数组,并使用另一个聚合级别:
编辑:
json_array_agg()
仅从10.5.0版开始提供。在早期版本中,另一种方法是字符串串联: