【问题标题】:Merge or Combine Multiple Rows Records to Single Column Record with Comma delimiters SNOWSQL使用逗号分隔符将多行记录合并或组合成单列记录 SNOWSQL
【发布时间】:2019-10-08 17:07:35
【问题描述】:

我知道这个问题之前在这里被问过,但特别是对于 SNOWSQL,是否有类似于 'STUFF' 的函数将两个值组合成一条记录?我基本上希望能够使用这个查询:

               SELECT ISSUE_ID,
               STUFF((SELECT ', ' + AFFECTS_VERSION
               FROM VW_JIRA_ISSUES
               WHERE ISSUE_ID = T.ISSUE_ID
               FOR XML PATH (''), type) ).value('.', 'varchar(max)'), 1, 1, '')               
               AS VERSIONS
               FROM VW_JIRA_ISSUES
               GROUP BY ISSUE_ID

【问题讨论】:

  • 我实际上最终使用了 Snowflake 的 LISTAGG FUNCTION:select issue_id, listagg(AFFECTS_VERSION, ', ') within group (order by issue_id desc) FROM VW_JIRA_ISSUES group by issue_id

标签: merge snowflake-cloud-data-platform snowsql


【解决方案1】:

Snowflake 的 INSERT() 函数怎么样?我知道它与 MySQL 的 INSERT() 函数基本相同,后者相当于 SQL Server 中的 STUFF() 。

参考资料:

【讨论】:

    【解决方案2】:

    选择问题 ID, listagg(AFFECTS_VERSION, ', ') 组内(按 issue_id desc 排序) FROM VW_JIRA_ISSUES 按 issue_id 分组

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-01
      • 2021-12-28
      • 2012-10-30
      • 1970-01-01
      • 2017-10-03
      • 1970-01-01
      • 2018-08-06
      • 2017-08-28
      相关资源
      最近更新 更多