0

所以我只能通过使用预配置的系统 DSN 的 Microsfot Query 访问 Oracle DB,我需要从中选择多行数据,这些数据仅通过单列不同。我提到的表格看起来像这样:

门票
ID、时间、LastGroup、log 1、1234、
foo、bar 2、2345
、fob、bat

更新
ID,更新
1,foo
1,bar
1,foobar
2,foo
2,bar

Goups
ID,组
1,你
1,我
1,我们
2,某人
2,任何人

我正在尝试从通过 ID 加入它们的所有 3 个表中获取数据。日志字段是 CLOB 类型,它存储了大量原始文本,为了避免多次返回它,我想将值合并为仅由单个列不同的行,以获得类似:

ID、时间、日志、更新、第
1 组、1234、bar、“foo; bar; foobar”、“you; me; as”

为了实现这一点,我尝试使用 LISTAGG 函数,但 Microsoft Query 给了我一个“没想到 SELECT 列列表之后的 'GROUP'”。错误。

select 的 LISTAGG 部分如下所示:
LISTAGG(Updates.Update, '; ') WITHIN GROUP (ORDER BY Updates.Update) "Updates"

任何人都知道是否可以在 MS Query 中使用此功能?如果是这样,怎么做?也许我的方法是错误的?我将不胜感激任何建议。

PS。我用的是oracle 11g驱动,所以应该支持这个功能。

4

0 回答 0