vba - 通过 ADODB 记录集和 Amazon Redshift (x64) 驱动程序查询时 LISTAGG 列为空
问题描述
我正在执行使用该LISTAGG
函数创建两列的 SQL,它在Aginity中工作得很好。
SELECT po_num::numeric AS po_num,
MIN(tran_date) AS tran_date ,
listagg(tran_date, ',') within
GROUP (
ORDER BY tran_date DESC) AS all_rm_dates,
listagg(rm_num, ',') within
GROUP (
ORDER BY tran_date DESC) AS all_rm_numbers
FROM main.curr_rm
GROUP BY 1
我尝试了上述 SQL 的一些变体,但没有一个会返回 ADODB 数据集中的 LISTAGG 列的recorset.open
数据。我的标准过程是将 Aginity SQL 文件保存为文本文件,并将文件内容分配给 VBA 代码中的字符串变量。在过去的两年里,这个过程非常有效。问题是 LISTAGG 列都是空的(但在 Aginity 中运行 SQL 时不是)。ADODBrecordset.open
语句:
rs.Open sql, CN, adOpenStatic, adLockOptimistic, adCmdText
与匹配的recorset.open
SQL 一起执行并且不会导致错误。结果记录在 Aginity 和 ADODB recorset 之间匹配,但LISTAGG
列除外。recordset.open
LISTAGG 列是空的。想不通我们的原因。不确定这是否是 Amazon Redshift x64 驱动程序、ADODB 或我在recordset.open
声明中的标准的限制。
解决方案
推荐阅读
- c# - C#中的浮点解析
- c++ - OpenGL渲染黑色方块
- python - 使用 Raspberry Pi 3 在 Docker 上安装 TensorFlow
- codefluent - 可以从集合对象中调用不返回数据的 Raw SQL 方法吗?
- python - 如何修复 TensorFlow 对象检测示例中 version.py 导致的错误
- angular - 如何创建具有角度 4 或更多复选框的动态过滤器?
- java - NullPointerException 问题
- image - 如何使用 ffmpeg 将自定义缩略图添加到 .mp4 文件?
- javascript - Javascript设置日期格式,包括0和日期和月份
- javascript - async.js 是否需要同时处理多个 ffmpeg 转换?