Я использую Postgres 11 и имею следующий SQL:
SELECT json_agg("Result"."record")
FROM (SELECT jsonb_build_object('emailAddress', "User"."emailAddress", 'displayName', "User"."displayName") as "record"
FROM "User")
"Result"
, и он возвращает одну строку, как показано ниже:
[
{"displayName": "Keith Stephens", "emailAddress": "kstephensqv@goo.gl"},
{"displayName": "Robert Armstrong", "emailAddress": "rarmstrongrf@gooogle.es"},
{"displayName": "Aaron Wagner", "emailAddress": "awagnerrh@cambo.ac.uk"}
]
Что бы я хотел, эторезультат в качестве ассоциативного объекта:
{
"kstephensqv@goo.gl": {"displayName": "Keith Stephens", "emailAddress": "kstephensqv@goo.gl"},
"rarmstrongrf@gooogle.es": {"displayName": "Robert Armstrong", "emailAddress": "rarmstrongrf@gooogle.es"},
"awagnerrh@cambo.ac.uk": {"displayName": "Aaron Wagner", "emailAddress": "awagnerrh@cambo.ac.uk"}
}
Можно ли каким-либо образом получить желаемый результат, используя только выражение Postgres SQL?