O PostgreSQL é um banco de dados reconhecidamente poderoso e com uma gama ampla de recursos. E neste artigo iremos falar sobre como transformar um resultado dado em várias colunas em um resultado de uma coluna, porém, transformado em array.
E para fazer isto no PostgreSQL é muito simples. Basta utilizar a função array_agg.
Abaixo um exemplo
SELECT bairro_id FROM bairro
Resultado de exemplo esperado:
bairro_id
1
2
3
Com isto obtivemos 3 registros. Agora iremos obter o resultado como um array, que por exemplo, poderia ser utilizado numa sub-select.
Abaixo um exemplo
SELECT array_agg(bairro_id) FROM bairro
Resultado de exemplo esperado:
bairro_id
{1,2,3}