sql - 将所有记录放在一个字段中

标签 sql sql-server t-sql

如何将一个字段的所有记录放入一个字段

Id, No , FDevice
1 ,  1 ,  'A'
2 ,  1 ,  'B'
3 ,  1 ,  'C'
4 ,  2 ,  'D'
5 ,  2 ,  'E'

我想要

 No , FDevice
 1  ,  A-B-C
 2  ,  D-E

感谢您的帮助

最佳答案

使用STUFF() - 将一个字符串插入另一个字符串。

SELECT
     [No],
     STUFF(
         (SELECT '-' + [FDevice]
          FROM TableName
          WHERE [No] = a.[No]
          FOR XML PATH (''))
          , 1, 1, '')  AS FDevice
FROM TableName AS a
GROUP BY [No]

关于sql - 将所有记录放在一个字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18942858/

相关文章:

sql - IOS sqlite更新查询问题

java - CentOS 7 上的 TomEE 在 CentOS 更新后无法通过 JDBC 连接到 Microsoft SQL Server

sql - 生成按订单总数分组的订单统计信息

sql - 简单的 SQL 数学运算给出不正确的结果

sql-server - 当数据不存在时,T-SQL 添加带零的行

SQL Server 企业管理器下载? (或者 Windows 7 的同等版本?)

sql - Sequelize 过滤器嵌套包含

sql-server-2005 - SQL Server 2005 单引号字符串列表失败

用于 200 多个表的 SQL 数据建模/映射软件

sql-server - 使用 xp_cmdshell 调用 SSIS 包配置环境变量时未找到它?