我有一个查询,其中我抓取了一堆数据并将其聚合到一个组中的数组中 示例查询:
// [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'的空数组?
答案 0 :(得分:0)
这样的事情会起作用吗?
pip install py2exe
或者:
case
when array_agg(ot.userid) = array_agg(null::bigint) then array[]::bigint[]
else array_agg(ot.userid)
end