psql 中的动态键 row_to_json
Dynamic key in psql row_to_json
我有一个问题:
SELECT
row_to_json(( SELECT s FROM (
SELECT
id,
addr_id,
target,
status
) s
)) FROM shop;
哪returns我这样的行:
{"id": 1, "addr_id": 12, "target": null, "status": "ACTIVE"}
如何重写我的查询,以便行 (addr_id) 的值成为我的 json:
的键
{12: {"id": 1, "target": null, "status": "ACTIVE"}}
使用 json_build_object
而不是 row_to_json
。我认为这也使查询更具可读性。
SELECT
json_build_object(shop.addr_id, json_build_object(
'id', shop.id,
'target', shop.target,
'status', shop.status
))
FROM shop;
您可以使用 json_build_object
.
SELECT
json_build_object(addr_id,
row_to_json(( SELECT s FROM (
SELECT
id,
target,
status
) s
))) FROM shop;
我有一个问题:
SELECT
row_to_json(( SELECT s FROM (
SELECT
id,
addr_id,
target,
status
) s
)) FROM shop;
哪returns我这样的行:
{"id": 1, "addr_id": 12, "target": null, "status": "ACTIVE"}
如何重写我的查询,以便行 (addr_id) 的值成为我的 json:
的键{12: {"id": 1, "target": null, "status": "ACTIVE"}}
使用 json_build_object
而不是 row_to_json
。我认为这也使查询更具可读性。
SELECT
json_build_object(shop.addr_id, json_build_object(
'id', shop.id,
'target', shop.target,
'status', shop.status
))
FROM shop;
您可以使用 json_build_object
.
SELECT
json_build_object(addr_id,
row_to_json(( SELECT s FROM (
SELECT
id,
target,
status
) s
))) FROM shop;