【问题标题】:special concatenate of data数据的特殊连接
【发布时间】:2016-12-27 22:48:19
【问题描述】:

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

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

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

提前感谢您!

【问题讨论】:

  • 投票重新开放:这种类型的功能需要特定于 DBMS 的答案,因为没有标准 SQL,链接的答案都不包含在 Teradata 系统上有效工作的答案。

标签: sql teradata


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    • 2012-07-30
    • 2016-05-08
    • 2023-03-28
    • 2022-11-04
    • 2021-09-05
    相关资源
    最近更新 更多