簡體   English   中英

POSTGRESQL:加入列

[英]POSTGRESQL: Join columns

我有一個 POSTGRESQL 12.5 版數據庫,其中有一個包含三列的表: c_idcolumnacolumnb 三列可以有不同的值。

我需要將它們的值加入到這樣的單個對象中:

這是示例數據,我有一個包含 3 列相同類型的表

c_id        columna   columnb
1              a       b
2              c       d
3              x       y

我需要運行一個查詢,它將像這樣連接列columnacolumnb

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.

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