title: Merge overlapping date intervals
body: <p>Is there a better way of merging overlapping date intervals?<br>
  The solution I came up with is so simple that now I wonder if someone else has a better idea of how this could be done.</p>
  
  <pre><code>/***** DATA EXAMPLE *****/
  DECLARE @T TABLE (d1 DATETIME, d2 DATETIME)
  INSERT INTO @T (d1, d2)
          SELECT '2010-01-01','2010-03-31' UNION SELECT '2010-04-01','2010-05-31' 
    UNION SELECT '2010-06-15','2010-06-25' UNION SELECT '2010-06-26','2010-07-10' 
    UNION SELECT '2010-08-01','2010-08-05' UNION SELECT '2010-08-01','2010-08-09' 
    UNION SELECT '2010-08-02','2010-08-07' UNION SELECT '2010-08-08','2010-08-08' 
    UNION SELECT '2010-08-09','2010-08-12' UNION SELECT '2010-07-04','2010-08-16' 
    UNION SELECT '2010-11-01','2010-12-31' UNION SELECT '2010-03-01','2010-06-13' 
  
  /***** INTERVAL ANALYSIS *****/
  WHILE (1=1)  BEGIN
    UPDATE t1 SET t1.d2 = t2.d2
    FROM @T AS t1 INNER JOIN @T AS t2 ON 
              DATEADD(day, 1, t1.d2) BETWEEN t2.d1 AND t2.d2 
    IF @@ROWCOUNT = 0 BREAK
  END
  
  /***** RESULT *****/
  SELECT StartDate = MIN(d1) , EndDate = d2
  FROM @T
  GROUP BY d2
  ORDER BY StartDate, EndDate
  
  /***** OUTPUT *****/
  /*****
  StartDate   EndDate
  2010-01-01  2010-06-13 
  2010-06-15  2010-08-16 
  2010-11-01  2010-12-31 
  *****/
  </code></pre>