C#winform 数据库操作,高分求教!!
兄弟们,想从一个表里提取一些字段,做点处理,生成一个新报表。可惜本人数据库操作语言不熟,遇到一点问题,大家帮帮忙啊! 
 具体情况是这样的: 
 原始表:dailyRunInfo   日运行记录表 
 字段: 
 	CarID	varchar	20	0                  汽车编号(每) 
 	TJYear	int	4	1                  统计年份 
 	TJMonth	int	4	1                  统计月份 
       	TJDate      datetime   8                                       日期 
 	RepairFlag	varchar	5                  是否维修 
 	RepairContent	varchar	50               维修内容 
 	RunToday	int	4                  当日运行公里数 
 	RunTotal	int	4                  累计运行公里数 
 	DXNum	int	4	1                  大修次数(第几次大修) 
 	DXDate	datetime	8                  上次大修日期 
 	DXDistance	int	4                  自上次大修累计运行公里 
 	XXNum	int	4	1                  小修次数(第几次小修) 
 	XXDate	datetime	8                  上次小修日期 
    	XXDistance	int	4                  自上次小修累计运行公里 
 这个表主要存储不同ID的汽车每天的运行记录 
 现在我想在每月末生成一个月报表,统计不同汽车在该月的运行总记录(一辆汽车只对应一条),主要统计字段如下:   
 汽车编号      统计年月      当月运行公里数      累计运行公里数         本月最后一次大修日期         自最后一次大修累计运行公里      本月最后一次小修日期      自最后一次小修累计运行公里   
 上述字段都能从   dailyRunInfo   表里统计出来,但想通过一次查询(输入年月)输出所有字段信息可能涉及到很多数据库的综合操作,小弟实在是想不出来,还得请各位大虾帮忙啊,   
 重分报答!!
------解决方案--------------------select count(字段),...from dailyRunInfo where CarID in (select distint CarID from dailyRunInfo) and 时间 <=.. and 时间> =..
------解决方案--------------------1、按一个月的时间把记录从日报表里取出来 
 2、在程序中把数据进行统计,插入月表
------解决方案--------------------select sum(RunToday),CarID from  dailyRunInfo where TJMonth = ?? group by CarID
------解决方案--------------------可以用下临时表
------解决方案--------------------建立临时表,使用存储过程完成
------解决方案--------------------最后一次大修日期(你得给个日期,@本月最后一天,算法很简单,下月第一天 -1 ) 
 max(大修日期)  from *** where 大修日期  < @本月最后一天
------解决方案--------------------分批来,这样最简单. 
 看重结果,能实就好.
------解决方案--------------------可以使用 MIS 常用的方法, 建一个最终要统计生产的目标固定表,   
 然后在程序运行中, 每增加一条记录,将结果累加到 目标表, 比如使用触发器.   
 最后要结果的时候只要 Select  一下目标表.