2016-08-21 58 views
0

我试图连接一些我的客户的信用卡数据。数据的特殊连接

比如我有邻桌(称之为表A):

custNum totAmount creditCardType 
    10  100  Visa 
    10  250  Mastercard 
    27  350  Visa 
    10  500  AmericanExpress 
    27  100  AmericanExpress 

等等

我试图来连接在接下来的格式这样的数据:

custNum totAmount creditCardType 
     10  850  Visa,Mastercard,AmericanExpress 
     27  450  Visa,AmericanExpress 

有没有一个明智而简单的方法呢?

预先感谢您!

+1

投票为重新打开:这种类型的函数需要特定于DBMS的答案,因为没有标准SQL,所有链接答案都不包含在Teradata系统上高效工作的答案。 – dnoeth

回答

2

在Teradata数据有两种可能的解决方案:

#1:递归查询,总是返回有序列表。当需要连接多行时可能需要使用大量的spool(在使用信用卡类型的情况下并不适用)。 Additonally你需要创建一个Volatie表兑现一个ROW_NUMBER:see this accepted answer

#2:XMLAGG,如果XML的服务是您的系统上安装,更简单的语法,可选retunrs有序列表:see this accepted answer