home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.databases.ms-sqlserver      Notorious Rube Goldberg contraption      19,505 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 17,685 of 19,505   
   Bob McClellan to Modern Benoni   
   Re: How to determine free time   
   06 Nov 09 14:37:26   
   
   XPost: microsoft.public.sqlserver.programming, microsoft.public.   
   qlserver.server   
   From: bobmcc777@gmail.com   
      
   Here is one way...   
   Create Table MyClasses ( ClassName nvarchar(15), StartTime nvarchar(5),   
   Duration int );   
      
   Insert into MyClasses values ('Physics', '09:00', 40 );   
      
   Insert into MyClasses values ('Math', '11:30', 50 );   
      
   Insert into MyClasses values ('Chemistry', '13:30', 60 );   
      
   Insert into MyClasses values ('Biology', '16:00', 40 );   
      
      
   select  ClassName,   
       [From] = StartTime,   
       [To] = left(convert(char,dateadd(n,duration,starttime),108),5),   
       Rn = (select count(mc.ClassName) from MyClasses mc where mc.StartTime <=   
   MyClasses.StartTime)   
   INTO  #MC   
   from  MyClasses   
      
      
   Select  Class = 'FreeTimeSlot',   
       [From],   
       [To],   
       NextClass = (select [From] from #mc MC2 where MC.rn = MC2.rn-1)   
   into   #MyClasses   
   From  #MC MC   
      
   select  *, Duration = rtrim(convert(char,datediff(n,[to],NextClass)/60,2)) +   
   ':' + convert(char,datediff(n,[to],NextClass)%60,2)   
   from  #MyClasses   
      
   drop table MyClasses   
   drop table #MC   
   drop table #MyClasses   
      
   hth,   
   ..bob   
      
      
      
      
   "Modern Benoni"  wrote in message   
   news:hd1mqm$8lf$1@aioe.org...   
   >I have a table having classes start time and duration. So for example   
   >   
   > Create Table MyClasses ( ClassName nvarchar(15), StartTime nvarchar(5),   
   > Duration int );   
   >   
   > Insert into MyClasses values ('Physics', '09:00', 40 );   
   >   
   > Insert into MyClasses values ('Math', '11:30', 50 );   
   >   
   > Insert into MyClasses values ('Chemistry', '13:30', 60 );   
   >   
   > Insert into MyClasses values ('Biology', '16:00', 40 );   
   >   
   >   
   >   
   > Now I want to write a query that gives my the free time between the   
   > classes. Like   
   >   
   >                                    from        to            duration   
   >   
   > Free Time Slot 1        9:40        11:30        1:50   
   >   
   > Free Time Slot 1        12:20        13:30    1:10   
   >   
   > Free Time Slot 1        14:30        16:00    1:30   
   >   
   >   
   >   
   >   
   >   
   > Thanks in advance.   
   >   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca