Teradata中的Listag等价物

Teradata中的Listag等价物,teradata,Teradata,teradata中是否有oracle的Listag函数的等价物。 使用递归是我尝试过的一个选项,但我想要的不是递归 谢谢 Aritra如果安装了Teradata的XML服务(从14.10开始默认),则会有一个名为XMLAGG的函数,例如 SELECT DatabaseName, TABLENAME, TRIM(TRAILING ',' FROM (XMLAGG(TRIM(Columnname)|| ',' ORDER BY ColumnId) (VARCHAR(10000)))) FRO

teradata中是否有oracle的Listag函数的等价物。 使用递归是我尝试过的一个选项,但我想要的不是递归

谢谢
Aritra

如果安装了Teradata的XML服务(从14.10开始默认),则会有一个名为XMLAGG的函数,例如

SELECT DatabaseName, TABLENAME, 
   TRIM(TRAILING ',' FROM (XMLAGG(TRIM(Columnname)|| ',' ORDER BY ColumnId) (VARCHAR(10000))))
FROM dbc.ColumnsV
WHERE databasename = 'dbc' 
  AND TABLENAME = 'ColumnsV'
GROUP BY 1,2

与递归
结合使用是我知道的唯一选择。但有一个问题。关于它的长度有什么问题吗?因为每当我试图将它集成到一个相对较大的表上时,它都会向我抛出一个错误:失败2513数据行太长。请您帮助我解决上述问题@dnoethTry将它转换为较小的VARCHAR。是否有其他一些列具有类似oReplace/oTranslate的功能?试着把它们铸造成一个更小的varchar,确切地说是varchar(50)。但还是一样的错误。还有别的出路吗@没问题。选择colA、colB、colC、colD、colE、XMLAGG((colF)| |',“按等级排序”(VARCHAR(50))col从表组分为colA、colB、colC、colD、colE@诺思