我的表的字段是这样的 (时间,南1号温度,北1号温度,南2号温度,北2号温度,南3号温度,北3号温度,南4号温度,北4号温度)这样查询出来之后不是就是 按顺序横排列的吗我现在要查询出来之后 是 纵向排列的
时间 1#(c) 2#(c) 3#(c) 4#(c)
11点南 12 12 12 12
11点北 11 11 11 11
12点南 11 11 12 12
12点北 11 11 11 11
13点南 12 12 12 12
13点北 11 11 11 11
14点南 12 12 12 12
14点北 11 11 11 11这个应该怎么弄啊?

解决方案 »

  1.   

    给你个列题参考:create table tb
    (
       Name    varchar(10) ,
       Subject varchar(10) ,
       Result  int
    )insert into tb(Name , Subject , Result) values('张三' , '语文' , 74)
    insert into tb(Name , Subject , Result) values('张三' , '数学' , 83)
    insert into tb(Name , Subject , Result) values('张三' , '物理' , 93)
    insert into tb(Name , Subject , Result) values('李四' , '语文' , 74)
    insert into tb(Name , Subject , Result) values('李四' , '数学' , 84)
    insert into tb(Name , Subject , Result) values('李四' , '物理' , 94)
    go--静态SQL,指subject只有语文、数学、物理这三门课程。
    select name 姓名,
      max(case subject when '语文' then result else 0 end) 语文,
      max(case subject when '数学' then result else 0 end) 数学,
      max(case subject when '物理' then result else 0 end) 物理
    from tb
    group by name
    /*
    姓名         语文        数学        物理          
    ---------- ----------- ----------- ----------- 
    李四         74          84          94
    张三         74          83          93
    */