我有一张桌子bank_accounts
:
Column | Type | Modifiers | Storage | Stats target | Description
---------------+-----------------------+-------------------------------------------------------------------------+----------+--------------+-------------
id | integer | not null default nextval('bank_accounts_id_seq'::regclass) | plain | |
name | character varying(50) | | extended | |
bank_accounts | jsonb | not null | extended | |
它在jsonb
列中有一些 JSON:
id | name | bank_accounts
----+-------+--------------------------------------------------------------------------
1 | test1 | [{"name": "acct1", "balance": -500}, {"name": "acct2", "balance": -300}]
我正在使用 jsonb_array_elements 获取一个用户的帐户列表:
select jsonb_array_elements(bank_accounts)->>'name' as name, jsonb_array_elements(bank_accounts)->>'balance' as balance from bank_accounts;
name | balance
-------+---------
acct1 | -500
acct2 | -300
这一切都很棒。但是如何让每一行都有一个唯一的 id?我想将每一行映射到一个休眠对象,但是我在这样做时遇到了麻烦,因为我找不到让每一行都具有唯一 ID 的方法。