SQL Server,我如何转置列的数据

时间:2012-05-24 07:37:31

标签: sql sql-server tsql

  

可能重复:
  Concatenate many rows into a single text string?

我有一个查询

SELECT city FROM cityTable

它返回

delhi
faridabad
haryana
mathura
kerla

我只想把结果换成像

这样的转置方式
delhi | faridabad | haryana | mathura | kera

怎么可能?

3 个答案:

答案 0 :(得分:2)

SELECT STUFF (
 (SELECT N', ' + city FROM CityTable FOR XML PATH(''),TYPE)
  .value('text()[1]','nvarchar(max)'),1,2,N'')

Concatenate many rows into a single text string?

答案 1 :(得分:2)

declare @city nvarchar(max)
SELECT @city = coalesce(@city+' | ', '')+city FROM cityTable 

编辑:

为了显示结果

SELECT @city

答案 2 :(得分:1)

您可以使用PIVOTUNPIVOT作为此处发布的示例

TSQL – Transpose Data using Using PIVOT and UNPIVOT

注意:您可以在SQL

的BOL(在线书籍)上找到语法