【问题标题】:Pivot one column with multiple rows into to one concatenated row将具有多行的一列旋转到一个连接的行
【发布时间】:2019-08-14 03:57:51
【问题描述】:

我需要准备一份可以复制并粘贴到电子邮件字段中的电子邮件列表 (2.5k)。

我有一列,每一行都有一个电子邮件地址。 我需要最终结果看起来像: 电子邮件1@test.com;电子邮件2@test.com; email3@test.com

Select *
        from(
        Select   email, 1 as num
        FROM tabl1
        WHERE  b.stu_cde = 1 ) e
        Pivot( max(email) 
        for num in ([1]) )as pv

【问题讨论】:

  • 提示尝试STUFF。第二件事 SO 不是代码编写服务,请分享您迄今为止尝试过的内容。对于这个问题,只有在 SO 上有 100 个答案可用。 sql 是语言,不清楚您在谈论哪个平台,即; mysqlsql-serverplsql 等。请注明正确的标签。
  • 您使用的是什么数据库(例如 MySQL、SQL Server、Oracle 等)? “SQL”只是一种语言,而不是实际产品。
  • 提示:更新到受支持的 SQL Server 版本并使用 string_agg()

标签: sql sql-server-2008 pivot


【解决方案1】:

试试这个。而不是pivot 使用stuff 来获得你的结果。有关枢轴的更多详细信息,请找到此链接PIVOT

 select Stuff( (select ';' + email from tabl1 for xml path('')),1,1,'') as Result

【讨论】:

  • 这很有效,但是结果太长了,有没有办法可以把它分成五个组?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-10
  • 2011-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多