I need help to achieve this transformation of an Array of Objects.
I am working with alaSQL.
I need to do a GroupBY by player.
I tried
alasql('SELECT score FROM ? WHERE score GROUP BY player',[arrayGamePlayerObjects])
But I got this result
{
"player": {
"id": 5,
"firstName": "Player",
"lastName": "05",
"email": "player05@example.com"
}
}
Original Array of Objects:
[
{
"player": {"id": 5,"firstName": "Player","lastName": "05","email": "player05@example.com"},
"score": {"id": 5,"score": 0.5,"finishDate": "2022-05-05T16:12:22.038+00:00",
"game": {"id": 3,"gameName": "Game 03","gameDate": "2022-05-05T18:12:21.049+00:00"},
"player": {"id": 5,"firstName": "Player","lastName": "05","email": "player05@example.com"}
}
},
{
"player": {"id": 6,"firstName": "Player","lastName": "06","email": "player06@example.com"},
"score": {"id": 6,"score": 0.5,"finishDate": "2022-05-05T16:12:22.038+00:00",
"game": {"id": 3,"gameName": "Game 03","gameDate": "2022-05-05T18:12:21.049+00:00"},
"player": {"id": 6,"firstName": "Player","lastName": "06","email": "player06@example.com"}
}
},
{
"player": {"id": 5,"firstName": "Player","lastName": "05","email": "player05@example.com"},
"score": {"id": 7,"score": 0.5,"finishDate": "2022-05-05T16:12:22.042+00:00",
"game": {"id": 6,"gameName": "Game 06","gameDate": "2022-05-05T20:12:21.049+00:00"},
"player": {"id": 5,"firstName": "Player","lastName": "05","email": "player05@example.com"}
}
},
{
"player": {"id": 6,"firstName": "Player","lastName": "06","email": "player06@example.com"},
"score": {"id": 8,"score": 0.5,"finishDate": "2022-05-05T16:12:22.042+00:00",
"game": {"id": 6,"gameName": "Game 06","gameDate": "2022-05-05T20:12:21.049+00:00"},
"player": {"id": 6,"firstName": "Player","lastName": "06","email": "player06@example.com"}
}
}
The end result I need is :
[
{
"player": {"id": 5,"firstName": "Player","lastName": "05","email": "player05@example.com"},
"score01": {"id": 5,"score": 0.5,"finishDate": "2022-05-05T16:12:22.038+00:00",
"game": {"id": 3,"gameName": "Game 03","gameDate": "2022-05-05T18:12:21.049+00:00"},
"player": {"id": 5,"firstName": "Player","lastName": "05","email": "player05@example.com"}
},
"score02": {"id": 7,"score": 0.5,"finishDate": "2022-05-05T16:12:22.042+00:00",
"game": {"id": 6,"gameName": "Game 06","gameDate": "2022-05-05T20:12:21.049+00:00"},
"player": {"id": 5,"firstName": "Player","lastName": "05","email": "player05@example.com"}
}
},
{
"player": {"id": 6,"firstName": "Player","lastName": "06","email": "player06@example.com"},
"score01": {"id": 6,"score": 0.5,"finishDate": "2022-05-05T16:12:22.038+00:00",
"game": {"id": 3,"gameName": "Game 03","gameDate": "2022-05-05T18:12:21.049+00:00"},
"player": {"id": 6,"firstName": "Player","lastName": "06","email": "player06@example.com"}
},
"score02": {"id": 8,"score": 0.5,"finishDate": "2022-05-05T16:12:22.042+00:00",
"game": {"id": 6,"gameName": "Game 06","gameDate": "2022-05-05T20:12:21.049+00:00"},
"player": {"id": 6,"firstName": "Player","lastName": "06","email": "player06@example.com"}
}
}
]
Any guide or ideas on how to get this result ?