Transformando múltiplas colunas em um array no PostgreSQL

image_pdfimage_print

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}

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!