表结构如下:(对应的时间    8时      9时      10时   11时    12时    13时    14时   15时     16时    17时      6时     7时
(字段)date  data00   data01   data02  data03  data04  data05  data06  data07  data08  data09 ..data22 data23
  2011-05-01    2        3         4      0       4       2       5       5        0      1
  2011-05-02    7        7         4      8       4       8       4       7        9      1
  2011-05-03    0        8         9      5       5       7       2       0        5      3
  2011-05-04    9        8         2      6       4       1       3       5        3      7
  2011-05-05    6        9         2      4       7       0       0       7        5      8 
      .
      .
      .要求用SQL语句查询, 2011-05-01 10时到2011-05-04 7时之间所有量的代数和,
select (1) from 表 where (2)
请问(1) (2)里面怎么写?2011—05-01和2011-05-04日期 是从DTPicker读取的,时间时从text读取的。说明:用户要求的时表中一天的时间是8点到第二天8点你为一天,而查询时候的时间又是按自然日历全部家当就20份了,不好意思

解决方案 »

  1.   

    惭愧,想了半天,用1条SQL我是搞不定啊,你发到SQL版问问。不知道你的应用场景是什么,感觉你的表扩展性不强啊,增加一个监测点的话,库、代码都要改。
      

  2.   

    select a+b+c+... ... +d from   (select sum(10时) as a,sum(11时) as b ,sum(12时) as c ... ...sum(7时) as d  from 表 where date>='2011-05-01' and date<='2011-05-04') 
      

  3.   

    日期可以用Cdate函数的,选择日期如果有必要的话可以用一个日期控件。
      

  4.   

    你可以把   date>='2011-05-01' and date<='2011-05-04'   这句话改成:  date>= & "'" & text1.text & "'" and date<= & "'" & txt2.text & "'"