我正尝试在我的 food.list 表上编写查询:
categories | items
----------------------------
dairy | ["milk", "cheese"]
fruit | ["apples", "pears", "grapes"]
vegetables | ["carrots"]
并返回一个只有一行的 selected_foods 列。我希望该行的值是一个包含类别(键)列表和项目(值)数组的对象。
selected_foods
------------------------------------
{
dairy: ["milk", "cheese"],
fruit: ["apples", "pears", "grapes"],
vegetables: ["carrots"]
}
到目前为止,我已经尝试过:
SELECT json_agg(json_build_object(categories, items::json))::json
AS selected_foods
FROM food.list
但这会返回一个对象数组,即:
selected_foods
------------------------------------
[
{ dairy: ["milk", "cheese"] },
{ fruit: ["apples", "pears", "grapes"] },
{ vegetables: ["carrots"] }
]
我想我太早应用了 json_build_object 函数......或者我可能需要在之后再次打开它们?
任何帮助都会很棒,谢谢 :)
最佳答案
关于sql - 如何将两个 postgres 列合并为单个值(json 对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56334598/