I have a table in Postgres that returns this data
I would like it to be returned to me in a Json ordered with its children as follows, but I have not been able to solve it
Is there a way in postgresql to order the parent modules with their child modules, I attach an example if I don't understand
[
{
"id_module": 1,
"id_parent_module": null,
"module_code": "001.",
"name_module": "Atoridad Fiscal",
"desc_module": "Atoridad Fiscal",
"children": [{
"id_module": 2,
"id_parent_module": 1,
"module_code": "001.002",
"name_module": "Recibidos",
"desc_module": "Recibidos",
},
{
"id_module": 3,
"id_parent_module": 1,
"module_code": "001.003.",
"name_module": "Enviados",
"desc_module": "Enviados",
},
{
"id_module": 4,
"id_parent_module": 1,
"module_code": "001.004.",
"name_module": "Archivados",
"desc_module": "Archivados",
}]
},
{
"id_module": 5,
"id_parent_module": null,
"module_code": "005.",
"name_module": "Configuraciones",
"desc_module": "Configuraciones",
"children": [{
"id_module": 14,
"id_parent_module": 5,
"module_code": "005.14.",
"name_module": "Medios Contacto",
"desc_module": "Medios Contacto",
}]
},
{
"id_module": 5,
"id_parent_module": null,
"module_code": "005.",
"name_module": "Configuraciones",
"desc_module": "Configuraciones",
"children": [{
"id_module": 14,
"id_parent_module": 5,
"module_code": "005.14.",
"name_module": "Medios Contacto",
"desc_module": "Medios Contacto",
}]
},
{
"id_module": 6,
"id_parent_module": null,
"module_code": "006.",
"name_module": "Mensajes",
"desc_module": "Bandeja del contribuyente",
"children": [{
"id_module": 7,
"id_parent_module": 6,
"module_code": "006.007.",
"name_module": "Recibidos",
"desc_module": "Recibidos",
},
{
"id_module": 8,
"id_parent_module": 6,
"module_code": "006.008.",
"name_module": "Enviados",
"desc_module": "Enviados",
},
{
"id_module": 22,
"id_parent_module": 6,
"module_code": "006.0022.",
"name_module": "Buscador de Mensajes",
"desc_module": "Buscador de Mensajes",
}]
}
]
I have tried with SELECT array_to_json(array_agg(row_to_json(alias))) FROM (select * from my table ) alias it returns me the json but not with its children