У меня есть поле extra
с типом jsonb
в моей таблице product
. И мне нужно получить ключ uniq со значениями uniq для каждого ключа из всех строк продуктов. Пример данных в дополнительном поле
{"SIZE": "110/116", "COLOUR": "Vit", "GENDER": "female", "AGE_GROUP": "Kids", "ALTERNATIVE_IMAGE": "some_path"}
сейчас я использую запрос, подобный этому
select DISTINCT e.key, array_agg(DISTINCT e.value) as fields
from products AS p
join jsonb_each_text(p.extras) e on true
GROUP BY e.key
Объявление имеет respnse (небольшая часть с некоторыми ключами в полном ответе, все ключи присутствуют), как это
[
{
"key": "AGE_GROUP",
"fields": "{Adult,children,Kids}"
},
{
"key": "GENDER",
"fields": "{female,male,man}"
}
]
как изменить его на массив для полей псевдонимов?
вот так
[
{
"AGE_GROUP": ["Adult","children","Kids"]
},
{
"GENDER": ["female","male","man"]
}
]
или, может быть, так здорово
[
"some_alias": [{"AGE_GROUP": "Adult", "AGE_GROUP": "children", "AGE_GROUP": "Kids"}],
"some_alias": [{"GENDER": "female", "GENDER": "male", "GENDER": "man"}]
]