Em PostgreSQL 9.5
eu uso jsonb
a coluna chamada user_tag. Esta coluna tem um array multidimensional como este:
[{"id": 1, "tag": "@xang"}, {"id": 2, "tag": "@wang"}]
Eu quero obter quando id
é igual a 1
. Eu posso fazer isso seguindo a consulta:
SELECT * FROM mydb AS f WHERE f.user_tag #>> '{0,id}' = '1'
Mas, eu tenho que fornecer 0
como uma chave. Desejo pesquisar todas as id
colunas e retornar as linhas da tabela correspondentes. Se eu já sei 0
, por que eu iria procurar em primeiro lugar.
Qualquer ideia será apreciada.
Nota: SELECT * FROM mydb AS f WHERE f.user_tag ->> 'id' = '1'
não é trabalhado.
Eu mesmo encontrei. Vou deixar vocês saberem para que outras pessoas possam usá-lo.
É isso. Agora posso obter linhas contém id = 1