将Char(1)列的SQL转换表转换为单行

时间:2015-09-03 23:18:07

标签: tsql

输入表:Col Char(1)

User

想要一个结果表:Row char(26)

Col  Seq
 A    1
 B    2 
 C    3 
 D    4
 etc
 Z   26
 A    1
 B    2
etc  
 Z    26 

1 个答案:

答案 0 :(得分:1)

这是一个工作示例。 注意我不确定你的seq计划是什么?或者如果您需要订购物品?或者如果你需要一个独特的清单?所以检查我的评论。

DECLARE @Data TABLE (Col CHAR(1),Seq INT)
INSERT INTO @Data
VALUES
    ('a',1),
    ('b',2),
    ('c',3),
    ('d',4)


SELECT
    STUFF(
   (
        SELECT  '' + Col
        FROM    @Data
        GROUP BY Col         --Remove duplicates
        ORDER BY Col         --Put it in order
      FOR XML PATH('')
   ),1,0,'') 
相关问题