【问题标题】:PostgREST custom function flat array instead of key:valuePostgREST 自定义函数平面数组而不是 key:value
【发布时间】:2020-02-28 13:35:42
【问题描述】:

我有这个自定义函数从数据列表中查询组。结果,我收到了我唯一的查询结果,但作为嵌套对象[{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",
  ...
]

【问题讨论】:

    标签: postgresql postgrest


    【解决方案1】:

    您需要返回一个文本数组(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-09-03
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      • 2019-10-19
      • 2012-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多