【问题标题】:Turning one column into a string in SQL在 SQL 中将一列转换为字符串
【发布时间】:2014-11-18 19:24:47
【问题描述】:

我在 SQL 中有一个如下所示的表:

问题是我希望它以这种方式显示:

Medication Review | Allergies, CAM, Diet Supp, 

将一个当前问题和所有次要问题放在一行中,而不是现在的方式。

任何帮助都会很棒!谢谢!

【问题讨论】:

  • 这称为“聚合字符串连接”。您可以使用您正在使用的任何数据库搜索此术语并找到各种解决方案。
  • 如果您使用 MySQL,您可以使用 GROUP_CONCAT,但这不是标准 SQL,因此它并非无处不在。此外,COALESCE 的名字很糟糕(IMO),不是您要找的。​​span>
  • 我认为PIVOT 在这里也可能会有所帮助。戈登的方法同样有效。只需添加选项

标签: sql string coalesce


【解决方案1】:

如果您使用的是 SQL Server,您可以这样做:

SELECT DISTINCT t1.presenting_problem,
  STUFF(
         (SELECT ', ' + t2.secondary_problem
          FROM tableName t2
          where t1.presenting_problem = t1.presenting_problem
          FOR XML PATH (''))
          , 1, 1, '')  AS secondary_problems
from tableName t1;

【讨论】:

  • 谢谢!这真的很有帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多