直接显示计算好的数据问题,请大家指点..

bells2000 2005-06-04 01:11:25
我有一个数据表放着这样的:
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里.
请问要如何做..
请大家帮帮忙.....
...全文
66 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjianwen 2005-06-04
  • 打赏
  • 举报
回复
用 query 组件,添加如下SQL:

select a.*,b.time from table a,table b where a.NameNumber=b.NameNumber

可能有点不符合要求,但你可以参考一下!~~
cjianwen 2005-06-04
  • 打赏
  • 举报
回复
(convert(varchar(20),min(time),120) 能不能解释一下,这是什么意思!~!~
cjianwen 2005-06-04
  • 打赏
  • 举报
回复
再改一下:

用 query 组件,添加如下SQL:

select a.*,b.time from table a,table b where a.NameNumber=b.NameNumber and a.time<>b.time

这样应该可以,但在SQL中转换时间还不会,你自己想想吧!~~
bells2000 2005-06-04
  • 打赏
  • 举报
回复
首先谢谢大家,,
我上面的只是一例子,
我想知道,如果像这样的原始表:
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吗?
dreamover 2005-06-04
  • 打赏
  • 举报
回复
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,记不清了
Kshape 2005-06-04
  • 打赏
  • 举报
回复
何必呢
直接修改表的结构吧

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧