只有10分了。
如果一条查询语句查询结果如下:name   周一 周二 周三 周四
test1   2     2            4
test1               3
上述结果是经过如下语句得到的
select distinct name,
case when fd1 = 0 then fdcount else '' end as 周一,
case when fd2 = 0 then fdcount else '' end as 周二,
case when fd3 = 0 then fdcount else '' end as 周三,
case when fd4 = 0 then fdcount else '' end as 周四
from test order by name现在想要得到如下查询结果
name   周一 周二 周三 周四
test1   2     2     3     4如何得到啊?谢谢!

解决方案 »

  1.   

    晕,中间的空格没了
    name 周一 周二 周三 周四
    test1 2 2 4
    test1 3形式如下:
    name  周一 周二 周三 周四
    test1  2   2   .   4
    test1  .............3
      

  2.   

    select distinct name,
    sum(case when fd1 = 0 then fdcount else '' end) as 周一,
    sum(case when fd2 = 0 then fdcount else '' end) as 周二,
    sum(case when fd3 = 0 then fdcount else '' end) as 周三,
    sum(case when fd4 = 0 then fdcount else '' end) as 周四
    from test 
    group by name 
    order by name
      

  3.   

    谢谢YiZhiNet(YiZhi.Net) :
    用sum结果如下:The sum or average aggregate operation cannot take a varchar data type as an argument我把它改成max了,可以了。谢谢.
      

  4.   

    如果是数据要汇总的话就用如下~~~select distinct name,
    sum(case when fd1 = 0 then fdcount else 0 end) as 周一,
    sum(case when fd2 = 0 then fdcount else 0 end) as 周二,
    sum(case when fd3 = 0 then fdcount else 0 end) as 周三,
    sum(case when fd4 = 0 then fdcount else 0 end) as 周四
    from test 
    group by name 
    order by name