PostgREST 自定义函数平面数组而不是 key:value
PostgREST custom function flat array instead of key:value
我有这个自定义函数从数据列表中查询分组依据。结果,我收到了我唯一的查询结果,但作为嵌套对象 [{substance: 'value'}]
。它希望我的回复是 [value, value, value]
。
SQL:
create or replace function api.substances(substance_group text) returns table(substance text)
as 'select api.emissions.substance from api.emissions where api.emissions.substance_group = group by api.emissions.substance;'
language sql;
回复:
[
{
"substance": "Arseen"
},
{
"substance": "Benzo[b]fluorantheen"
},
...
]
需要回复:
[
"Arseen",
"Benzo fluorantheen",
...
]
您需要 return 文本数组 (text[]
) 而不是 table(text)
并在查询中使用 array_agg 函数。喜欢:
create or replace function api.substances(substance_group text) returns text[] as $$
select array_agg(api.emissions.substance)
from api.emissions
where api.emissions.substance_group =
group by api.emissions.substance;
$$ language sql;
我有这个自定义函数从数据列表中查询分组依据。结果,我收到了我唯一的查询结果,但作为嵌套对象 [{substance: 'value'}]
。它希望我的回复是 [value, value, value]
。
SQL:
create or replace function api.substances(substance_group text) returns table(substance text)
as 'select api.emissions.substance from api.emissions where api.emissions.substance_group = group by api.emissions.substance;'
language sql;
回复:
[
{
"substance": "Arseen"
},
{
"substance": "Benzo[b]fluorantheen"
},
...
]
需要回复:
[
"Arseen",
"Benzo fluorantheen",
...
]
您需要 return 文本数组 (text[]
) 而不是 table(text)
并在查询中使用 array_agg 函数。喜欢:
create or replace function api.substances(substance_group text) returns text[] as $$
select array_agg(api.emissions.substance)
from api.emissions
where api.emissions.substance_group =
group by api.emissions.substance;
$$ language sql;