sql2000 C# vs2005 统计问题
表名aa字段id(自动编号)a_name(名字)a_no(代号a_date(请假日期)a_sp(审批状况)1张三1234562009-3-9未批2李四1234572009...
表名aa
字段
id(自动编号)a_name(名字)a_no(代号 a_date(请假日期) a_sp(审批状况)
1 张三 123456 2009-3-9 未批
2 李四 123457 2009-1-9 已批
3 王二 123458 2009-1-6 已批
4 李四 123457 2009-3-22 已批
5 李四 123457 2009-3-28 未批
6 李四 123457 2009-3-29 未批
根据名字统计出审批状况的次数
比如 查询李四 自动计数
结果显示出2009年1月 已批1次
2009年3月 已批1次,未批2次
根据日期统计出审批状况的次数
比如 查询2009-1-1至2009-4-1 自动计数出
结果显示出2009年1月
李四 已批1次
王二 已批1次
2009年3月
张三 未批1次
李四 已批1次,未批2次
要有前台和后台代码 谢谢 展开
字段
id(自动编号)a_name(名字)a_no(代号 a_date(请假日期) a_sp(审批状况)
1 张三 123456 2009-3-9 未批
2 李四 123457 2009-1-9 已批
3 王二 123458 2009-1-6 已批
4 李四 123457 2009-3-22 已批
5 李四 123457 2009-3-28 未批
6 李四 123457 2009-3-29 未批
根据名字统计出审批状况的次数
比如 查询李四 自动计数
结果显示出2009年1月 已批1次
2009年3月 已批1次,未批2次
根据日期统计出审批状况的次数
比如 查询2009-1-1至2009-4-1 自动计数出
结果显示出2009年1月
李四 已批1次
王二 已批1次
2009年3月
张三 未批1次
李四 已批1次,未批2次
要有前台和后台代码 谢谢 展开
2个回答
展开全部
select convert(varchar(7), a_date,120) as 月份, a_name as 名字,isnull(sum(case when a_sp='已批' then 1 else 0 end),0) as 已批,isnull(sum(case when a_sp='未批' then 1 else 0 end),0) as 未批 from aa where a_date between '2009-01-01' and '2009-04-01' group by convert(varchar(7), a_date,120) ,a_name
一条出来大概就是这样的了,直接拷到你sql里应该就能执行了
结果大概是这样:
月份 名字 已批 未批
2009-01 李四 1 2
2009-01 张三 2 0
2009-02 李四 0 1
如果把月份就显示一次,在输出到表格里面的时候控制一下就好了
一条出来大概就是这样的了,直接拷到你sql里应该就能执行了
结果大概是这样:
月份 名字 已批 未批
2009-01 李四 1 2
2009-01 张三 2 0
2009-02 李四 0 1
如果把月份就显示一次,在输出到表格里面的时候控制一下就好了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询