我有一些看起来像这样的数据:
key B
1 true
1 false
2 false
2 false
我想把它卷起来,如果 columnB
有两个值false
,那么结果值为; 否则,如果存在 a和值,则值为。像这样:B
false
true
false
B
true
key B
1 true
2 false
有没有办法可以用(雪花)SQL 来完成?我首先想到了数据透视表,但这似乎并不是数据透视表的作用。
使用 postgresql 9.2 版,我正在尝试运行一个查询来选择某些列来构建一个 json 对象。这是我从这个问题中得出的查询:
select
a.id
, json_agg((SELECT x FROM (SELECT b.fieldA) AS x)) AS item
from a join b on a.id = b.foreign_key
limit 10
当我运行它时,我得到一个很难解析的错误。
错误:函数 json_agg(record) 不存在 提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。
, json_agg((SELECT x FROM (SELECT b.fieldA) AS x)) 作为项目
似乎抱怨是 json_agg 没有收到正确的输入,但我不明白为什么。
当我在没有 的情况下运行相同的查询时json_agg
,即仅使用子选择表达式时,我得到一个带有b.fieldA
内括号值的列。我不确定括号在数据类型方面表示什么,但我可以看到可能json_agg
只是获取值,因此不知道如何提供属性名称。
谁能解释我哪里出错了?