2017-08-01 64 views
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 | 

讓我感到困難的是,我不知道所有按鍵的名稱,這些按鍵也可能是單個行的很多按鍵。

+0

請出示您的架構結構和樣品的輸入/輸出。或者最好是http://dbfiddle.uk演示。 – lad2025

+0

我做了一個更新,更好地闡明瞭結構。 – Jonathan

+0

[扁平化來自JSONB字段的聚合鍵/值對?](https://stackoverflow.com/a/35179515/1995738) – klin

回答

相關問題