按小时计划的数据透视表

时间:2014-03-19 10:17:56

标签: pivot-table

我无法弄清楚如何转动桌子。我需要一个看起来像这样的输出

    8     9     10    11    12    13    14
---------------------------------------------
1   test1 test1 test1 test2 text2 test2 test2 
2   test2 test2 test3 test3 text3 test3 test3
3   
4                     test3 

我的数据是这样的:

name     hour  date
-------------------
test1    8     1
test1    9     1
test1    10    1
test2    11    1    
test2    12    1    
test2    13    1    
test2    14    1
test2    8     2    
test2    9     2
test3    10    2        
test3    11    2        
test3    12    2        
test3    13    2    
test3    14    2
test3    11    4    

我也尝试过像这样的查询

 select  [8],[9],[10], 
    [11],[12],[13],[14]
    from 
    (select name,hour,date
    from myschedule)as x 
    pivot
    ( 
    max(name) for hour in ([8],[9],[10], 
    [11],[12],[13],[14]) 
    )as pivottable    

有没有人可以解决这个问题,我不知道如何查询这个东西:( 感谢

1 个答案:

答案 0 :(得分:0)

尝试此查询

select *
from
(
  select NAME,HOUR,DATE
  from myschedule
  unpivot
  (
    NAME
    for HOUR in ([8],[9],[10], 
    [11],[12],[13],[14])
  ) unpiv
) src

<强> Fiddle Demo