sql 三班倒 排班问题!!!

globalc 2012-07-11 11:57:44
各位大侠,有一个问题请教。

排班规则: 早 ,早,中,中,夜,夜,休,休
循环起点:2(表示第二个早)

如何按上面的规则把一个月出勤排出。多谢

...全文
373 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuam 2012-07-12
  • 打赏
  • 举报
回复
CREATE    procedure usp_paiban ( @bh char(20), --员工编号 
@dates datetime, --开始日期
@enddates datetime ,--结束日期
@times int ) --循环次数
as
begin
declare @i int
declare @Ndate datetime
set @i = @times
create table #temp
( bh char(20),
dates datetime,
bc char(10)
)

select 1 as id, '早'as d into #t
union select 2 ,'早'
union select 3 ,'中'
union select 4 ,'中'
union select 5 ,'夜'
union select 6 ,'夜'
union select 7 ,'休'
union select 8 ,'休'


while(@i > 0)
begin
if(@i = @times and @dates != '')
set @Ndate = dateadd(dd,-1,@dates )
else
select @Ndate = max(dates)
from #temp
where bh = @bh
set @i = @i - 1


insert into #temp(bh,dates,bc)
select @bh,dateadd(dd,#t.id,@Ndate), #t.d
from #t
where ltrim(rtrim(isnull(#t.d,''))) != '' and dateadd(dd,#t.id,@Ndate) <=@enddates

end
select * from #temp
end
GO

做了个按规则循环的,供参考.
tansx 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
举个例子,我想排本月的出勤

排班规则: 早 ,早,中,中,夜,夜,休,休
循环起点:2(表示第二个早)

那么本月的排班 (1号)早,(2)中,(3)中,(4)夜,(5)夜,(6)休,(7)休,(8号)早,(9号)早,(10)中,(11)中,(12)夜,(13)夜,(14)休,(15)休,(15)早-----一直到月底31号
也就是按照 早,中,中……
[/Quote]


描述不清楚。比如1号上了早班,那么1号的中和夜谁上?
--小F-- 2012-07-11
  • 打赏
  • 举报
回复
没看懂。
SQL77 2012-07-11
  • 打赏
  • 举报
回复
不懂。
zts107 2012-07-11
  • 打赏
  • 举报
回复
没看明白。。。
globalc 2012-07-11
  • 打赏
  • 举报
回复
从第一个开始,用sql如何实现?
xuam 2012-07-11
  • 打赏
  • 举报
回复
为什么不改规律,从第一个开始?
给自己增加难度?

[Quote=引用 4 楼 的回复:]
举个例子,我想排本月的出勤

排班规则: 早 ,早,中,中,夜,夜,休,休
循环起点:2(表示第二个早)

那么本月的排班 (1号)早,(2)中,(3)中,(4)夜,(5)夜,(6)休,(7)休,(8号)早,(9号)早,(10)中,(11)中,(12)夜,(13)夜,(14)休,(15)休,(15)早-----一直到月底31号
也就是按照 早,中,中,夜……
[/Quote]
globalc 2012-07-11
  • 打赏
  • 举报
回复

举个例子,我想排本月的出勤

排班规则: 早 ,早,中,中,夜,夜,休,休
循环起点:2(表示第二个早)

那么本月的排班 (1号)早,(2)中,(3)中,(4)夜,(5)夜,(6)休,(7)休,(8号)早,(9号)早,(10)中,(11)中,(12)夜,(13)夜,(14)休,(15)休,(15)早-----一直到月底31号
也就是按照 早,中,中,夜,夜,休,休,早,循环排完这个月的出勤


Burgess_Liu 2012-07-11
  • 打赏
  • 举报
回复
描述不够清楚

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧