我想做个类似进销存的汇总
主要字段大概如下:有进货时间,进货人,检验员,数量
我想做的统计汇总大概是这样的每天的进货总量,每月的进货总量,每年的进货总量
其次,就是进货人员和检验员2人是起到相互监督的作用,然后比如a今天进货,那么b就是检验员,b进货,a就是检验员,当然还有人员cdef等等,也就是说每天进货和检验的人一定是2个不同的人。
然后对年月日统计之后还想看看比如a进货的数量,b进货的数量等,还想对a做检验员时进货数量统计,b做检验员的统计,这些基本都做出来了!
但是有个小毛病,比如信息是:
进货时间 进货人 检验员 数量
2011-11-01 10:11:11 a b 2000
2011-11-02 10:11:11 a b 1000
2011-11-02 11:11:11 a b 2000
按天统计sql语句是这样的
select day(进货时间), 进货人,检验员,sum(数量) from 进货表 group by day(进货时间), 进货人,检验员 order by day(进货时间)
显示结果为:
1 a b 2000
2 a b 3000
前面的时间我想显示成:
2011-11-1
2011-11-2
然后网上找了个这样方法cstr(year(进货时间))+'-'+cstr(month(进货时间))+'-'+cstr(day(进货时间))代替day(进货时间)
但是如果日期出现10以后 排序就错了
成为:
2011-11-1
2011-11-10
2011-11-2
后来我把2种合成一个也就是
select cstr(year(进货时间))+'-'+cstr(month(进货时间))+'-'+cstr(day(进货时间)),day(进货时间), 进货人,检验员,sum(数量) from 进货表 group by cstr(year(进货时间))+'-'+cstr(month(进货时间))+'-'+cstr(day(进货时间)),day(进货时间), 进货人,检验员 order by day(进货时间)
成了这样结果:
2011-11-1 1 a b 2000
2011-11-2 2 a b 3000
2011-11-10 10 a b 3000
我想问的就是有没有好的办法实现我要达到的效果?就是下面这样
2011-11-1 a b 2000
2011-11-2 a b 3000
2011-11-10 a b 3000
还有个一直困扰我的就是这个问题:我如何统计所以和a有关的数量呢?就是无论a是进货还是检验员时的总量?
主要字段大概如下:有进货时间,进货人,检验员,数量
我想做的统计汇总大概是这样的每天的进货总量,每月的进货总量,每年的进货总量
其次,就是进货人员和检验员2人是起到相互监督的作用,然后比如a今天进货,那么b就是检验员,b进货,a就是检验员,当然还有人员cdef等等,也就是说每天进货和检验的人一定是2个不同的人。
然后对年月日统计之后还想看看比如a进货的数量,b进货的数量等,还想对a做检验员时进货数量统计,b做检验员的统计,这些基本都做出来了!
但是有个小毛病,比如信息是:
进货时间 进货人 检验员 数量
2011-11-01 10:11:11 a b 2000
2011-11-02 10:11:11 a b 1000
2011-11-02 11:11:11 a b 2000
按天统计sql语句是这样的
select day(进货时间), 进货人,检验员,sum(数量) from 进货表 group by day(进货时间), 进货人,检验员 order by day(进货时间)
显示结果为:
1 a b 2000
2 a b 3000
前面的时间我想显示成:
2011-11-1
2011-11-2
然后网上找了个这样方法cstr(year(进货时间))+'-'+cstr(month(进货时间))+'-'+cstr(day(进货时间))代替day(进货时间)
但是如果日期出现10以后 排序就错了
成为:
2011-11-1
2011-11-10
2011-11-2
后来我把2种合成一个也就是
select cstr(year(进货时间))+'-'+cstr(month(进货时间))+'-'+cstr(day(进货时间)),day(进货时间), 进货人,检验员,sum(数量) from 进货表 group by cstr(year(进货时间))+'-'+cstr(month(进货时间))+'-'+cstr(day(进货时间)),day(进货时间), 进货人,检验员 order by day(进货时间)
成了这样结果:
2011-11-1 1 a b 2000
2011-11-2 2 a b 3000
2011-11-10 10 a b 3000
我想问的就是有没有好的办法实现我要达到的效果?就是下面这样
2011-11-1 a b 2000
2011-11-2 a b 3000
2011-11-10 a b 3000
还有个一直困扰我的就是这个问题:我如何统计所以和a有关的数量呢?就是无论a是进货还是检验员时的总量?
解决方案 »
- 怎样向word中插入图片?
- c#中读取txt文件 出现了乱码 怎么解决?
- 如何将string格式的小数转换成1位小数的浮点数
- 请问我用Microsoft.DirectX.DirectSound做了个录音程序,在我本机可以运行,但在别人的机上就出错
- Microsoft Word 12.0 Object Library兼容性问题
- 如何比较两个*.wav文件的相似度?
- 关于第三方控件的问题 ASPxBinaryImage.ContentBytes
- 为什么要限制类,什么可以访问限制的类
- 有关视频声频方面的编程
- 一定给分题。System.Diagnostics.Process.Start()如何跟参数
- 软件的中树形结构如何在数据库里建立表啊~~
- 不同项目引用时,被引用的项目的事件无法触发
select convert(varchar(10),进货时间,120),进货人,检验员,sum(数量) from 进货表 group by convert(varchar(10),进货时间,120),进货人,检验员 order by convert(varchar(10),进货时间,120)
但是提示我convert函数未定义
--mssql2005 测试通过.
select substring(convert(char(20), [day], 23), 1, 10) as [time],进货人,效验员,sum(进货数量) from 表 group by [day],进货人,效验员 order by [day]
最好在数据库里把“进货时间”改一下不要用VARCHAR转成datetime类型试一下
然后我用了
select FormatDateTime(进货时间,2) as 日期,进货人,检验员,sum(数量) from 进货表 group by FormatDateTime(进货时间,2),进货人,检验员 order by FormatDateTime(进货时间,2)
这种方式!在access里的查询视图里可以实现!但是在程序里却提示FormatDateTime函数未定义!
谁遇到过这样的问题?