Em um banco de dados PG10, tenho uma tabela chamada ToDos
onde defini um jsonb
campo chamado tags
.
Os registros parecem
+----+-----------------+-----------------------------------------+
| ID | Name | Tags |
+----------------------+-----------------------------------------+
| 1 | mow the lawn |[{"name": "Saturday", "scope": "system"},|
| | | {"name": "favorite", "scope": "user"}] |
+----------------------+-----------------------------------------+
| 2 | paint the fence |[{"name": "Monday", "scope": "system"}] |
+----------------------+-----------------------------------------+
Agora estou tentando escrever uma consulta que retorna algo como
+----+-----------------+------------+-----------+
| ID | Name | Tag Name | Tag Scope |
+----------------------+------------+-----------+
| 1 | mow the lawn | Saturday | system |
+----------------------+------------+-----------+
| 1 | mow the lawn | favorite | user |
+----------------------+------------+-----------+
| 2 | paint the fence | Monday | system |
+----------------------+------------+-----------+
Mas estou tendo dificuldade em decompor o jsonb
campo. Alguma ideia?
Você precisa desaninhar a matriz e extrair as chaves como colunas dos valores JSON resultantes:
Exemplo online: http://rextester.com/DWYIJ81620