sql - 逗号分隔结果多列sql server

标签 sql sql-server-2008 t-sql

我有一个包含值的表格:

Key1     Key2     ColumnKey 
============================
1        idx1      here
2        idx2      there

我需要返回多个以逗号分隔的列结果。

示例:

1,2   idx1,idx2,      here,there

最佳答案

select stuff(T.X.query('Key1').value('.', 'varchar(max)'), 1, 1, '') as Key1,
       stuff(T.X.query('Key2').value('.', 'varchar(max)'), 1, 1, '') as Key2,
       stuff(T.X.query('ColumnKey').value('.', 'varchar(max)'), 1, 1, '') as ColumnKey
from 
  (
  select ','+cast(Key1 as varchar(10)) as Key1,
         ','+Key2 as Key2,
         ','+ColumnKey as ColumnKey
  from YourTable
  order by Key1
  for xml path(''), type
  ) T(X)

SE-Data

关于sql - 逗号分隔结果多列sql server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12225563/

相关文章:

mysql - 在数据库的每个选定行前面添加 +1

sql - 单个 SQL 查询一次性更新表中所有列的数据类型

sql-server - 如何在 Microsoft SQL 中查找具有特定列名的主键的表?

sql - 无法执行 msdb.dbo.sp_send_dbmail

sql - 查询查找具有值 x 的其他对应元素的元组

sql - 用日期表填补日期空白

sql - SQL缓存依赖关系的性能问题

SQL 比较每小时总订单并删除当前库存可能吗?

sql - 使用 INNER JOIN 获取 DISTINCT 记录

sql - 选择日期最高的行