谢谢了。作者: todaynew 时间: 2009-1-14 19:20
select 组别,版务,iif(版务=17:00-24:00,'当值','休班') as [17:00-24:00],iif(版务=08:00-17:00,'当值','休班') as [08:00-17:00] from 表a
组别 班务 17:00-24:00 08:00-17:00
a 17:00-24:00 当值 休班
b 08:00-17:00 休班 当值
[ 本帖最后由 todaynew 于 2009-1-14 19:24 编辑 ]作者: 晴空小呵 时间: 2009-1-15 08:59
呵呵,谢谢,我想要的结果是将17-24拆分到每一个时间段,列标题必须是,0-1,1-2,2-3…………23-24作者: 晴空小呵 时间: 2009-1-15 09:00
谢谢各位高手,帮帮小弟,这个问题我想了好多办法都实现不了,作者: Henry D. Sy 时间: 2009-1-15 09:21
不是很明白您的意思
最好有例子作者: Henry D. Sy 时间: 2009-1-15 10:10
谢谢了。作者: Henry D. Sy 时间: 2009-1-15 14:39
1. 什么意思
2. 只上半个小时,怎么知道上半班
3、表中班组有重复作者: 晴空小呵 时间: 2009-1-16 12:37
呵呵,版主,我的意思是表--“排班”中,不同的组在不同的日期上不同的班务,我要实现的功能就是:根据每个班务请款,统计这个班务在24个时间段的每个小时上班时间。
例如:
a班组,上17:00-24:00,那么,这个班组在17-18的查询列里就显示1,18-19查询列里显示1,……23-24的查询列里显示1,其余时间段都显示为0.
c班组,上8:30-17:30,那么,7-8这个时间段他只上了半个小时,就用0.5显示,其余同a班组。
组别 班务
a 17:00-24:00
b 08:00-17:00
c 08:30-17:30
我要实现的功能是:
组别 8-9 9-10 10-11 11-12 12-13………… 22-23 23-24
a 0 0 0 0 0 1 1
b 1 1 1 1 1 0 0
c 0.5 1 1 1 1 0 0
就是这个样子,作者: Henry D. Sy 时间: 2009-1-16 20:03
c班组,上8:30-17:30,那么,7-8这个时间段他只上了半个小时,就用0.5显示,其余同a班组。
8:30-17:30怎么会有7-8这个时间段??作者: 晴空小呵 时间: 2009-1-19 10:12
呵呵,版主,这个我肯定是算错了,应该是8-9这个时段算成0.5小时,呵呵。作者: 晴空小呵 时间: 2009-1-19 18:07
顶起来,各位,谁会呀,帮帮忙,谢了,作者: Henry D. Sy 时间: 2009-1-20 07:22
您的描述跟附件有区别,
好好将问题整理一下,
重新描述一下问题和要求(要跟附件一致)作者: 晴空小呵 时间: 2009-1-20 08:56
谢谢版主,我重新整理了一下,并且做了一张图,您看看是否表述明白,谢谢了。作者: Henry D. Sy 时间: 2009-1-20 09:26
表设计有问题,当中有吃饭的应该分成两条记录。作者: 晴空小呵 时间: 2009-1-20 09:51
o ,这个没问题,您看我的那个案例,查询中,我已经将吃饭前和吃饭后的班务分开了,查询名称为fq,fh作者: Henry D. Sy 时间: 2009-1-20 09:59
哪你重新把已经将吃饭前和吃饭后的班务分开了的附件传上来作者: 晴空小呵 时间: 2009-1-20 10:01
版主辛苦,您看一下,我每天都要计算附件excel中的数据,很繁琐,而且总是出错,所以我想用数据库,提前将公式写好,每次导入数据就能出来结果。
至于您说的表设计问题,我已经在附件access查询--饭前饭后做好,您看看是否可以。作者: Henry D. Sy 时间: 2009-1-20 10:08
不是饭前饭后的问题
而是应该有两条记录作者: boy1 时间: 2009-1-20 13:20 标题: 来看看 来看看作者: 晴空小呵 时间: 2009-1-20 13:59
谢谢版主,我自己将查询-“饭前饭后”用excel合并成表-“班务1”,见附件,您看看是不是要这样的表,若是的话,我应该如何做?另外我记得以前好像有个什么转换能实现将查询-“饭前饭后”转换成表-“班务1”,版主帮着想想最好能让查询自动实现,人工操作越少越好,减少出错的可能性。作者: Henry D. Sy 时间: 2009-1-21 07:07
基础数据有点乱,既然有日期,班务就不应该跨日。作者: 晴空小呵 时间: 2009-1-21 12:26
恩,不过这个没关系,因为算出来后,自然就会将0点以后的数据放在第二天了。