我有一个数据表放着这样的:
NameNumber   time
1            2005-05-01 07:00
1            2005-05-01 17:30
2            2005-05-01 08:00
2            2005-05-01 18:00
  .
  .
  .
  
经过计算后在DBGRID里显示这样:
NameNumber  date         time1    time2
1           2005-05-01   07:00    17:30
2           2005-05-01   08:00    18:00
  .
  .
  .不用把计算好的数据写入表中,且如上显示在DBGRID里.
请问要如何做..
请大家帮帮忙.....

解决方案 »

  1.   

    用 query 组件,添加如下SQL:select a.*,b.time from table a,table b where a.NameNumber=b.NameNumber可能有点不符合要求,但你可以参考一下!~~
      

  2.   

    select NameNumber,convert(varchar(10),time,120) as date,substring(convert(varchar(20),min(time),120),12,4) as time1,substring(convert(varchar(20),max(time),120),12,4) as time2
    from tb
    group by namenumber,convert(varchar(10),time,120)convert里面后面那个参数好像是120,记不清了
      

  3.   

    首先谢谢大家,,
    我上面的只是一例子,
    我想知道,如果像这样的原始表:
    NameNumber   time
    1            2005-05-01 07:00
    1            2005-05-01 17:30
    2            2005-05-01 08:00
    2            2005-05-01 18:00
    每条记录都要经过多次的对比(至少要的:1.如该记录是在某个时段内吗?,2.是这个时段里最接近某个时刻的吗?等等.)
    如果不用一个先设计好的表,能直接显示在DBGRID吗?
      

  4.   

    再改一下:用 query 组件,添加如下SQL:select a.*,b.time from table a,table b where a.NameNumber=b.NameNumber and a.time<>b.time这样应该可以,但在SQL中转换时间还不会,你自己想想吧!~~
      

  5.   

    (convert(varchar(20),min(time),120)  能不能解释一下,这是什么意思!~!~