• Kevin, also, I did not notice this was your first post, so welcome to the forum, and thank you for posting sample data as you have. You will notice a couple of CTE's in my code, 'T1', and 'Tally' that may be unfamiliar to you. The 'Tally' cte is used simply to generate all possible 15 minute incremental time slots. For an explanation of what a 'Tally' table is, and how/why you might want to use it, you should read Jeff Moden's article http://www.sqlservercentral.com/articles/T-SQL/62867/ It's a great tool to have when you need it. Also, I'm just curious, why are you storing DayOfTheWeek as an integer, and the StartTime and EndTime as DATETIME when you are only using the time component? Why not just store the start and stop times as TIME? Also, you don't really have a way to produce a calendar view over time. For example, what happens if I change, say, 'Karate Level 3' from Saturday to Monday, but I make the change on Tuesday? Once you make the change, the class will no longer appear on your Saturday schedule, which will be what you eventually want, but you may miss the upcoming Saturday class. Maybe not an issue, but many things to think about when doing something like this. Basically what you have here is like a paper calendar, where you have all your stuff written in pencil. When you want to change something, you have to erase what already exists.

    Greg
    _________________________________________________________________________________________________
    The glass is at one half capacity: nothing more, nothing less.