i have table called duty (columns: dutyid, dutyname, staffid) , table called staff (columns: staffid, staffname)
in order fair, each of staff auto assigned each duty entry (record). should whenever insert duty entry, auto assign staffid (sequential) it.
example
- staffid : 1 staffname: jack
- staffid : 2 staffname: mary
so when insert new entry (first entry) duty, auto insert staffid = 1 duty table. second entry, staffid 2.
and following entry, keep looping staffid sequentially.
desired answer:
dutyid dutyname staffid 1 cleaning 1 2 cleaning 2 3 cleaning 1 4 cleaning 2 5 cleaning 1 6 cleaning 2 7 cleaning 3 new staff 8 cleaning 1 9 cleaning 2 10 cleaning 3 can show , explain me should in stored procedure... thanks
try :
select * duty; declare @dutyname varchar(20)='cleaning' declare @staffid int declare @maxstaffid int select @staffid=staffid duty dutyid= (select max(dutyid) duty); select @maxstaffid=max(staffid) staff; print @maxstaffid; insert duty (dutyname, staffid) select @dutyname, case when @staffid=@maxstaffid (select min(staffid) staff) else (select min(staffid) staff staffid>@staffid) end ; select * duty;
Comments
Post a Comment