首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgREST自定义函数平面数组代替key:value

PostgREST自定义函数平面数组代替key:value
EN

Stack Overflow用户
提问于 2020-02-28 21:35:43
回答 1查看 80关注 0票数 1

我使用这个自定义函数从datalist查询group by。结果,我收到了唯一的查询结果,但作为嵌套对象[{substance: 'value'}]。它更希望我的回答是[value, value, value]

SQL:

代码语言:javascript
复制
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;

响应:

代码语言:javascript
复制
[
  {
    "substance": "Arseen"
  },
  {
    "substance": "Benzo[b]fluorantheen"
  },
  ...
]

需要响应:

代码语言:javascript
复制
[
  "Arseen",
  "Benzo fluorantheen",
  ...
]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-02 03:09:34

您需要返回一个文本数组(text[])而不是table(text),并对查询使用array_agg函数。像这样:

代码语言:javascript
复制
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;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60452882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档