簡體   English   中英

如何將PostgreSQL中的jsonb鍵用作行值?

[英]How to use the key of jsonb in postgresql as a row value?

我有一張這樣的桌子:

id (serial) | data (jsonb)
1           | {"a": 1, "b": 2}
2           | {"a": 3, "b": 1}

如何將其轉換為該表:

id | dataKey | dataValue
1  | a       | 1             # {"a": 1} 
1  | b       | 2             # {"b": 2}
2  | a       | 3             # {"a": 3}
2  | b       | 1             # {"b": 1}

PS。 #后的字符為注釋

使用jsonb_each().

with my_table(id, data) as (
values
(1, '{"a": 1, "b": 2}'::jsonb),
(2, '{"a": 3, "b": 1}')
)

select id, key, value
from my_table,
jsonb_each(data)

 id | key | value 
----+-----+-------
  1 | a   | 1
  1 | b   | 2
  2 | a   | 3
  2 | b   | 1
(4 rows)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM