首页 > 解决方案 > 在由唯一 ID 标识的列中选择多个值并将它们解析为一行

问题描述

我创建了以下表格“MyTable”:

 ID          StrValue            SortID 
 130030      12345678            2 
 130030      Huber               3 
 130030      Georg Hans          5 
 130801      11223344            2 
 130801      Schreiner           3 
 130801      Peter               5 
 131244      87654321            2 
 131244      Schneider           3 
 131244      Hans                5 

我想编写一个 SQL 来将数据转换为这种格式/选择:

Result
12345678, Huber Georg Hans
11223344, Schreiner Peter
87654321, SChneider Hans

这是否有意义,如果是,应使用哪些函数来获取上述结果表?如果您有解决方案,请提供给我们。

提前致谢。

标签: sqlsql-server

解决方案


您可以尝试在表达式中使用大小写

SELECT id,
   max(case when sortid=2 then StrValue end),
   max(case when sortid=3 then StrValue end),
   max(case when sortid=5 then StrValue end)
FROM tablename
GROUP BY id

推荐阅读