[英]Getting values from all JSON fields in postgres
我需要一个SQL查询,在这里我可以选择所有json键。 下面的查询让我获取JSON字段的所有键。 但是我有点茫然如何进行查询以也获取所有值。
SELECT DISTINCT ON (key.*) key.*
FROM my_table,
jsonb_object_keys(my_table.json_field) as key
因此,上述查询的结果将仅仅是
key1
key2
使用以下查询,您将获得与此类似的结果
SELECT * FROM my_table
| id | json_field |
| -- | ---------- |
| 1 | '{"key1": "value1"}' |
| 2 | '{"key2": "value2"}' |
我正在寻找的结果如下
| id | key1 | key2 |
| -- | -------| ------ |
| 1 | value1 | null |
| 2 | null | value2 |
造成困难的是,我不知道所有键的名称,这些键也可能是一行中的很多键。
select distinct on (field_1, field_2) id, job_id, field_1, field_2
from
my_table,
jsonb_populate_recordset(json_field) jprs (field_1 int, field2 text)
https://www.postgresql.org/docs/current/static/functions-json.html#FUNCTIONS-JSON-PROCESSING-TABLE
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.