我有两列A和B。A就像一个序列(1,2,3,4),B(b1,b2,b3,b4)是与每个序列相关的数据。我还有一列,让我们为每个 Z 列说 Z(zxxxxxx)。
表格中以这种格式呈现的数据
zxxxxxx 1:b1
zxxxxxx 2:b2
zxxxxxx 3:b3
zxxxxxx 4:b4
我想要 z 列的输出如下:zxxxxxx 1:b1 2:b2 3:b3 4:b4
除了上面的内容:如果我删除 A 列,它可以工作,但如果我与 B 连接,它会抛出错误。
我编写了以下查询,但收到错误“字符串连接太长”
SELECT
RTRIM((Xmlagg(Xmlelement(e,(A||':'||B)||',')).extract('//text().getclobval(),','||
chr(10)|| '')
from table_name where decision in ('X','Y')
and Z='zxxxxxx';
您似乎想要使用
GROUP BY a
并且仅聚合 B
列,然后连接:
SELECT EMPTY_CLOB()
|| a
|| RTRIM((Xmlagg(Xmlelement(e, B||',')).extract('//text().getclobval(),',')
from table_name
WHERE decision in ('X','Y')
AND Z='zxxxxxx'
GROUP BY a;