select id1, id2 top 1 from table
where date <='2001-10-21'
order by date descselect id1, id2 top 1 from table
where date >='2001-10-21'
order by date
where date <='2001-10-21'
order by date descselect id1, id2 top 1 from table
where date >='2001-10-21'
order by date
解决方案 »
- VB逆序问题!!!
- 大家看看我这段代码那里错了?? 老提示要求对象
- 有谁做过医院检验报告单打印软件
- ◆请问这样的数据结构,应该怎样设计?◆
- ADODB.RECORDSET当COLSE时"不允许操作"是为什么?如何办?
- 我想使得VB数据库的一条记录成为一张Word的表格怎么做?在线等待
- 分页显示的问题
- SQL怎么转换ACCESS
- 请问在不调用 wsock32.dll 中的 API 的情况下,在VB中能否得到本机的IP 地址
- 急,有谁知道在MSFlexGird控件中,怎样实现单行且整行选择的效果?
- 求助!谁有html help workshop的中文使用说明?给我
- datagrid控件能打印吗?怎么打印?
select ID1, 数量 from TABLE as A, (select ID1 ,max(日期) as TrueDate
from TABLE group by ID1) as B
where A.ID1=B.ID1 AND a.日期=b.TrueDate完了。
select ID1, 数量 from TABLE as A, (select ID1 ,max(日期) as TrueDate
from TABLE group by ID1) as B
where A.ID1=B.ID1 AND a.日期=b.TrueDate完了。
建临时视图就可以解决。
Select A.ID1, A.数量 from TABLE as A,
(Select ID1,max(日期) AS TRUEDATE from TABLE group by ID1) as B
Where A.ID1=B.ID1 and A.日期=B.TRUEDATE完了。
里面临时视图还少了一个条件,就是应该是Select A.ID1, A.数量 from TABLE as A,
(Select ID1,max(日期) AS TRUEDATE from TABLE
where 日期<='2001-10-21' group by ID1) as B
Where A.ID1=B.ID1 and A.日期=B.TRUEDATE才对。
未完全解决的内容,(我们的方法不太好)
如果给出一个日期段,怎么办,我们要得到这个日期段内,所有日期数据。
比如:2001-10-19-》2001-10-21
ID1=01 日期=2001-10-19....数据库中没有,应输出为 01 2001-10-19 0 (数量为0)
ID1=01 日期=2001-10-20....数据库中有,应输出为 01 2001-10-20 100 (数量为100)
ID1=01 日期=2001-10-21....数据库中没有,应输出为 01 2001-10-21 100 (数量为100)
求解
select id1,日期,数量 from table where 日期 between '2001-10-19' and '2001-10-21' order by id1
至于数据库中不存在的日期如2001-10-19显然要在客户端处理,
第一问的要用一句sql写出来,我看一个inner join是少不了的,所以效率也不会高
你想效率高的话就用临时存储过程吧
是啊,给出范围,就可以,得到有的记录,,
可是其中日期没有的记录,就没有办法生成吗?
数据库返回的数据要么是原来就有的要么是统计数据
当然case
when a=1 then field=1
when a=2 then dield=2
end
这类数据除外
比如500种ID1,363天,
ID2如果是5的话
很大的数据处理量
我们用过这样的方法,很慢很慢很慢