首页 > 解决方案 > 将评论行加入单行

问题描述

我的查询是在序列行中列出注释。我希望将它们组合成一个评论列,而不是一个 PO 有多行。这是我现在的查询:

SELECT  PO,
    SEQUENCE_NUMBER,
    COMMENT_LINE
FROM Database

哪个正在返回:

采购订单 序列号 评论行
8582959 1 评论第 1 行
8582959 2 评论第 2 行
8582960 1 评论第 1 行

我希望它返回两个注释行,它们之间用','连接起来,如下所示:

采购订单 评论行
8582959 评论第 1 行,评论第 2 行
8582960 评论第 1 行

我尝试使用 CONCAT,但由于它们位于同一列中,因此无法弄清楚如何让这些行加入。我认为也许内部连接会起作用,但我从未使用过,也不太确定如何格式化。非常感谢帮忙。

标签: sqlteradata-sql-assistant

解决方案


我不知道它是否在 Teradata 上可用,但您可以尝试使用string_agg()聚合函数:

SELECT
  po,
  STRING_AGG(comment_line, ', ')
FROM your_table
GROUP BY po;

推荐阅读