相关疑难解决方法(0)

如何使用array_agg()进行varchar []

我在我们的数据库中有一个名为min_crew具有不同字符数组的列,例如'{CA, FO, FA}'.

我有一个查询,我试图获取这些数组的聚合但没有成功:

SELECT use.user_sched_id, array_agg(se.sched_entry_id) AS seids
     , array_agg(se.min_crew) 
FROM base.sched_entry se
   LEFT JOIN base.user_sched_entry use ON se.sched_entry_id = use.sched_entry_id
WHERE se.sched_entry_id = ANY(ARRAY[623, 625])
GROUP BY user_sched_id;
Run Code Online (Sandbox Code Playgroud)

623和625都有相同的use.user_sched_id,所以结果应该是seid的分组和min_crew,但我只是不断收到这个错误:

ERROR:  could not find array type for data type character varying[]
Run Code Online (Sandbox Code Playgroud)

如果我删除了array_agg(se.min_crew)代码的一部分,我会得到一个带有user_sched_id = 2131和的表返回seids = '{623, 625}'.

sql arrays postgresql aggregate-functions multidimensional-array

5
推荐指数
1
解决办法
7021
查看次数