我正在尝试构建一个SELECT
语句,该语句将采用JSONB
以下格式的列:
{
"Cities": [
{
"Name": "Atlanta"
},
{
"Name": "London"
},
{
"Name": "New York"
}
]
}
列结果集的输出需要采用以下格式:
Atlanta, London, New York
更新
@a_horse_with_no_name 下面的答案是正确的,但我的要求实际上比最初发布的要复杂一些。我实际上需要将此选择放入更大的(连接)查询中,如下所示:
select eo.citydata.cities.names <-- Flattened Comma delimited JSON Array
from orderline o
join eventorders eo on eo.orderlineid = o.id
join events e on e.id = eo.eventid
where e.id = '123'
显然,需要修改提供的答案才能使其正常工作,我正在努力弄清楚如何去做。
取消嵌套数组,然后聚合回来:
如果您有更大的查询,请在派生表中使用它:
或者 - 如果您经常需要 - 您可以创建一个执行此操作的函数:
然后你可以像这样使用它: