[英]POSTGRESQL: Join columns
我有一個 POSTGRESQL 12.5 版數據庫,其中有一個包含三列的表: c_id
、 columna
和columnb
。 三列可以有不同的值。
我需要將它們的值加入到這樣的單個對象中:
這是示例數據,我有一個包含 3 列相同類型的表
c_id columna columnb
1 a b
2 c d
3 x y
我需要運行一個查詢,它將像這樣連接列columna
和columnb
:
c_id merge_column
1 {"columna":a, "columnb": "b"}
2 {"columna":d, "columnb": "d"}
3 {"columna":x, "columnb": "y"}
有任何想法嗎?
您可以將整行轉換為 JSON,刪除c_id
鍵:
select t.c_id, to_jsonb(t) - 'c_id' as merge_column
from the_table t
如果列數比您顯示的多,並且您只想獲取其中兩個,則使用jsonb_build_object()
可能更容易:
select t.c_id,
jsonb_build_object('columna', t.columna, 'columnb', t.columnb) as merge_column
from the_table t
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.