【问题标题】:I have multiple records against an ID, I want to collapse the data as a single record in select statment我有多个针对一个 ID 的记录,我想在选择语句中将数据折叠为单个记录
【发布时间】:2017-03-30 07:51:57
【问题描述】:

我的数据如下:

COMPANY_ID  DATA
17           A
17           B
17           C
16           X
16           Y
16           X

我想选择它如下:

COMPANY_ID  DATA
17          A,B,C
16          X,Y,Z

【问题讨论】:

  • 你能用 distinct 吗?
  • 我假设你的意思是16 X,X,Y,给定你的输入数据

标签: sql database oracle11g


【解决方案1】:

您可能需要LISTAGG 和聚合:

select company_id, listagg(data, ',') within group ( order by data) as data
from yourTable
group by company_id

根据您的输入数据给出:

COMPANY_ID DATA
---------- ----------
        16 X,X,Y
        17 A,B,C

请注意,我假设您需要的结果(或输入数据)包含错字。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多