0
我需要一个SQL查询,我可以在其中选择所有json键。下面的查询让我获得JSON字段的所有关键字。但是我有点茫然,我会怎么做一个查询来获取所有的值。从postgres中的所有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 |
让我感到困难的是,我不知道所有按键的名称,这些按键也可能是单个行的很多按键。
请出示您的架构结构和样品的输入/输出。或者最好是http://dbfiddle.uk演示。 – lad2025
我做了一个更新,更好地阐明了结构。 – Jonathan
[扁平化来自JSONB字段的聚合键/值对?](https://stackoverflow.com/a/35179515/1995738) – klin