数据表格是这样的
客户名称    用料面积    日期
海风工贸     0.5       12/5 
江南印刷     2.34      12/2   
海风工贸     1.3       12/4 
晴和印刷     4.44      12/1
海风工贸     3.22      12/1 要求我做一张图表,调用DBCHART,来显示这个星期,每天共用去多少面积,星期一到星期天,SQL语言怎么写

解决方案 »

  1.   

    select sum(用料面积) from 数据表 where (日期 >= getweekfirstday) and (日期 <=getweeklastday) group by 日期
      

  2.   

    select sum(用料面积) from 数据表 where (日期 >= startdate) and (日期 <=enddate) group by 日期如果求每一客户每天共用去多少面积,则如下:
    select 客户名称,
       sum(case datename(weekday,日期)=‘星期一’ then 用料面积 else 0 end) as 星期一,
       sum(case datename(weekday,日期)=‘星期二’ then 用料面积 else 0 end) as 星期二,
       sum(case datename(weekday,日期)=‘星期三’ then 用料面积 else 0 end) as 星期三,
       sum(case datename(weekday,日期)=‘星期四’ then 用料面积 else 0 end) as 星期四,
       sum(case datename(weekday,日期)=‘星期五’ then 用料面积 else 0 end) as 星期五,
       sum(case datename(weekday,日期)=‘星期六’ then 用料面积 else 0 end) as 星期六,
       sum(case datename(weekday,日期)=‘星期天’ then 用料面积 else 0 end) as 星期天,
          from 数据表 
           where (日期 >= startdate) and (日期 <=enddate) 
           group by 客户名称,日期
      

  3.   

    謝謝老王﹐我又學了一招case的用法﹗
      

  4.   

    不用谢,我跟firetoucher(风焱) 学的
      

  5.   

    求每個星期每天用去的用料面積總數
    select 客户名称,
       sum(case datename(weekday,getdate)=‘星期一’ then 用料面积 else 0 end) as 星期一,
       sum(case datename(weekday,getdate)=‘星期二’ then 用料面积 else 0 end) as 星期二,
       sum(case datename(weekday,getdate)=‘星期三’ then 用料面积 else 0 end) as 星期三,
       sum(case datename(weekday,getdate)=‘星期四’ then 用料面积 else 0 end) as 星期四,
       sum(case datename(weekday,getdate)=‘星期五’ then 用料面积 else 0 end) as 星期五,
       sum(case datename(weekday,getdate)=‘星期六’ then 用料面积 else 0 end) as 星期六,
       sum(case datename(weekday,getdate)=‘星期天’ then 用料面积 else 0 end) as 星期天,
          from 数据表 
           where (日期 >= startdate) and (日期 <=enddate) 
           group by 客户名称,getdate
      

  6.   

    错误提示
    参数getweeklastday没有默认值高手则么回事啊
      

  7.   

    select datename(weekday,getdate()),sum(用料面积) from 表 where weekof(日期)=weekof(getdate()) group by 日期
      

  8.   

    weekof记不清了,SQL 中有一个取日期 的周数的函数,不对的话看看帮助吧