合并一系列bigint

时间:2015-11-30 19:30:27

标签: sql postgresql

我有一个查询,其中我抓取了一堆数据并将其聚合到一个组中的数组中 示例查询:

// [null]

现在,如果不满足条件,则other_users列将返回为包含null的数组。

// []

不是我想要的值,我希望有一个空数组返回

COALESCE

有办法吗?

我期待像-- tried to make it return 0 instead of array SELECT name, COALESCE(array_agg(ot.userid), 0) as other_users FROM room LEFT JOIN other_table as ot ON someCondition WHERE room.id = $1 -- some room id GROUP BY name

这样的东西

但这不起作用:

[error: COALESCE types bigint[] and integer cannot be matched]

我得到错误:

}
    while (nummervanappels != 15) {
        Console.WriteLine ("dat zijn er te weinig");
        System.Threading.Thread.Sleep (2000);
        Console.WriteLine ("raad opnieuw");
        System.Threading.Thread.Sleep (2000);
        nummervanappels = Convert.ToInt32 (Console.ReadLine ());
    }

如何在其中发回一个没有'null'的空数组?

1 个答案:

答案 0 :(得分:0)

这样的事情会起作用吗?

pip install py2exe

或者:

case
  when array_agg(ot.userid) = array_agg(null::bigint) then array[]::bigint[]
  else array_agg(ot.userid)
end