1

我有这个自定义函数从数据列表中查询组。结果,我收到了我唯一的查询结果,但作为嵌套对象[{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 = $1 group by api.emissions.substance;'
language sql;

回复:

[
  {
    "substance": "Arseen"
  },
  {
    "substance": "Benzo[b]fluorantheen"
  },
  ...
]

需要回复:

[
  "Arseen",
  "Benzo fluorantheen",
  ...
]
4

1 回答 1

1

您需要返回一个 text( 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 = $1
  group by api.emissions.substance;
$$ language sql;
于 2020-03-01T19:09:33.547 回答