从Teradata SQL中的多个记录连接字符串

时间:2017-07-25 14:27:54

标签: sql string teradata aggregation

我有一份在不同州开展业务的商家名单。

Merch    State

A          NC

A          FL

B          CA

B          VA

而不是返回我希望由Merch分组的四条记录,而是连接状态的字符串,以便输出看起来像

Merch      States

A           NC,FL

B           CA,VA

我在这个问题的答案中翻译响应时遇到了很多麻烦 Optimal way to concatenate/aggregate strings

我也无法使String_agg工作,我不确定它在Teradata中是否有效。 https://docs.microsoft.com/en-us/sql/t-sql/functions/string-agg-transact-sql

1 个答案:

答案 0 :(得分:0)

您可以在Teradata中使用xml_agg()内置功能。这并不能很好地从SQL Server转换,这就是为什么你遇到这两个链接的问题。

SELECT merch, TRIM(TRAILING ',' FROM (XMLAGG(States || ',' ORDER BY States) (VARCHAR(500))))
FROM yourtable
GROUP BY 1;