【发布时间】:2011-07-30 18:11:28
【问题描述】:
我想计算总量和按 CarID 分组,但目前无法执行此操作。
在我的数据库中有一些表:TBL_CAR_TX、TBL_CAR、TBL_PERSON
table: TBL_CAR_TX
------------------
select * from TBL_CAR_TX
where TranDate >= '2011-06-09' and Trandate <= '2011-06-20'
TranID, AccID, CarID, TranDate, Type, Quantity, .....
--------------------------------------------------------
0 2563 BMW 2011-06-09 H -15 (1)
1 2563 BMW 2011-06-20 R 15
2 2563 BMW 2011-06-20 H 20
3 0055 TOY 2011-06-12 H -10 (2)
4 0055 TOY 2011-06-20 R 10
...
(H):保持,(R):释放
如果我们改变 WHERE stmt 的条件:
select * from TBL_CAR_TX where TranDate >= '2011-06-10' and Trandate <= '2011-06-19'
(这些日期,我从外面得到的) ==>所有记录都消失了==>我无法计算,因为数据不显示。
查看表 TBL_CAR_TX,我们可以看到一个人从 '2011-06-09' 借了汽车'BMW',直到 '2011-06-20' 他还了车。因此,如果我在 SQL Server 2008 中执行此操作,如何将记录 (1) 和 (2) 保留在从 '2011-06-10' 到 '2011-06-19' 的日期范围内进行计算。如果不能,我该如何在java编程中做到这一点?任何建议。
table TBL_CAR:
MarketID, CarID, Name, Size, ...
---------------------------
GER BMW ....
JPA TOY ....
Table TBL_PERSON:
AccID, Name, Age, DOB, ...
-------------------------
2563 Robert
0055 Mike
非常感谢您的帮助
【问题讨论】:
-
你需要搜索日期比较函数(我猜一个叫BETWEEN,但我这辈子用过一次MSSQL,但有些SQL实现有)
标签: java sql-server sql-server-2008