一佳一

记录像1+1一样简洁的代码

导航

Sql2005 列转行

Posted on 2012-01-09 17:34  一佳一  阅读(223)  评论(0编辑  收藏  举报

 

数据显示:

id   name  isman  isbest  isgood

1    张三    1         1          1

2    李四    0         0          1

 

转换后

 

id   name  TempColumn   Num

1    张三    isman              1

1    张三    isbest              1

1    张三    isgood             1

2    李四    isman              0

2    李四    isbest              0

2    李四   isgood              1

 

 

列名解释:

--TempColumn 自定义列名

--Num 值存放列名

--value 迭代变量

 

代码:

SELECT id,name,TempColumn, Num=value
FROM 要查询的表
  UNPIVOT
  (
    value FOR TempColumnIN([要转换的列名1], [要转换的列名2], [要转换的列名2])
  ) AS 自定义表名