在SQL Server 2008中将值从行移动到列

时间:2014-06-19 21:57:53

标签: sql sql-server-2008

我试图将这样的值存储在sql server中的列中,如下所示:

Mon| Tue| Wed| Thu| Fri| Sat| Sun
30 |  20| 30 | 10 | 30 | 15 | 25

这样的事情:

Mon|30 
Tue|20 
Wed|30
Thu|10
Fri|30
Sat|15
Sun|25

示例代码将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:1)

假设您的表是t1: t1(星期一,星期二,星期五,星期四,星期五,星期五,星期日)

这是你的答案:

select 'Mon' as day, mon as number from t1
union all
select 'Tue', tue from t1
union all
select 'Wed', wed from t1
union all
select 'Thu', thu from t1
union all
select 'Fri', fri from t1
union all
select 'Sat', sat from t1
union all
select 'Sun', sun from t1

在结果集中,您将有两个字段:答案中指定的“day”和“number”。