特殊的数据连接

时间:2016-08-21 07:01:26

标签: sql teradata

我正在尝试连接我的客户的一些信用卡数据。

例如,我有下一张桌子(称之为表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 

有一种聪明而简单的方法吗?

提前谢谢!

2 个答案:

答案 0 :(得分:2)

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

#1:递归查询,始终返回有序列表。当有许多行要连接时可能会使用大量的线轴(在使用信用卡类型时不是这种情况)。另外,您需要创建一个Volatie表来实现ROW_NUMBER:see this accepted answer

#2:XMLAGG,如果您的系统上安装了XML-Services,语法更简单,可以选择重新排序有序列表:see this accepted answer

答案 1 :(得分:1)