title: SQL Query for Date Range, multiple start/end times
body: <p>A table exists in Microsoft SQL Server with record ID, Start Date, End Date and Quantity.</p>
  
  <p>The idea is that for each record, the quantity/total days in range = daily quantity.</p>
  
  <p>Given that a table containing all possible dates exists, how can I generate a result set in SQL Server to look like the following example?</p>
  
  <p>EX:</p>
  
  <pre><code>RecordID | Start Date | End Date  | Quantity
  1        |  1/1/2010  | 1/5/2010  | 30000
  2        |  1/3/2010  | 1/9/2010  | 20000
  3        |  1/1/2010  | 1/7/2010  | 10000
  
  Results as
  1        | 1/1/2010 |  QTY (I can do the math easy, just need the dates view)
  1        | 1/2/2010 | 
  1        | 1/3/2010 | 
  1        | 1/4/2010 | 
  1        | 1/3/2010 | 
  2        | 1/4/2010 | 
  2        | 1/5/2010 | 
  2        | 1/6/2010 | 
  2        | 1/7/2010 | 
  2        | 1/8/2010 | 
  2        | 1/9/2010 | 
  3        | 1/1/2010 | 
  3        | 1/2/2010 | 
  3        | 1/3/2010 | 
  3        | 1/4/2010 | 
  3        | 1/5/2010 | 
  3        | 1/6/2010 | 
  3        | 1/7/2010 | 
  </code></pre>
  
  <p>Grouping on dates I could get then get the sum of quantity on that day however the final result set can't be aggregate due to user provided filters that may exclude some of these records down the road.</p>
  
  <p><em>EDIT</em></p>
  
  <p>To clarify, this is just a sample.  The filters are irrelevant as I can join to the side to pull in details related to the record ID in the results.  </p>
  
  <p>The real data contains N records which increases weekly, the dates are never the same.  There could be 2000 records with different start and end dates... That is what I want to generate a view for.  I can right join onto the data to do the rest of what I need</p>
  
  <p>I should also mention this is for past, present and future data.  I would love to get rid of a temporary table of dates.  I was using a recursive query to get all dates that exist within a 50 year span but this exceeds MAXRECURSION limits for a view, that I cannot use.</p>