0

这是我需要实现的:

{"id":1,
"work":[
    {
        "name":"Pied Piper3"
    },
    {
        "name":"Pied Piper"
    }
],
"awards":[
    {
        "title":"Digital Compression Pioneer Award"
    }
]}

这就是我得到的

{"id":1,
"work":[
    {
        "name":"Pied Piper3"
    },
    {
        "name":"Pied Piper"
    }
],
"awards":[
    {
        "title":"Digital Compression Pioneer Award"
    },
    {
        "title":"Digital Compression Pioneer Award"
    }
]}

我的查询:

select json_object('id',basics.resume_id, 
    'work',JSON_ARRAYAGG(json_object('name', work.name)),
    'awards', JSON_ARRAYAGG(JSON_OBJECT('title', awards.title))
    ) from basics
        left join work on basics.resume_id = work.resume_id
        left join awards on basics.resume_id = awards.resume_id where basics.resume_id = 1

我为 resume_id = 1 添加了两行工作,但为 resume_id = 1 添加了 1 行奖励。但我仍然获得与 resume_id = 1 的作品数量一样多的奖励

4

0 回答 0