title: Need help with a complex Join statement in SQL
body: <p>How can you join between a table with a sparse number of dates and another table with an exhaustive number of dates such that the gaps between the sparse dates take the values of the previous sparse date?</p>
  
  <p>Illustrative example:</p>
  
  <pre><code>PRICE table (sparse dates):
  date        itemid  price
  2008-12-04  1       $1
  2008-12-11  1       $3
  2008-12-15  1       $7
  
  
  VOLUME table (exhaustive dates):
  date         itemid  volume_amt
  2008-12-04   1       12345
  2008-12-05   1       23456
  2008-12-08   1       34567
  2008-12-09   1       ...
  2008-12-10   1
  2008-12-11   1
  2008-12-12   1
  2008-12-15   1
  2008-12-16   1
  2008-12-17   1
  2008-12-18   1
  </code></pre>
  
  <p>Desired result:</p>
  
  <pre><code>date       price  volume_amt
  2008-12-04 $1     12345
  2008-12-05 $1     23456
  2008-12-08 $1     34567
  2008-12-09 $1     ...
  2008-12-10 $1
  2008-12-11 $3
  2008-12-12 $3
  2008-12-15 $7
  2008-12-16 $7
  2008-12-17 $7
  2008-12-18 $7
  </code></pre>
  
  <p>Update:</p>
  
  <p>A couple people have suggested a correlated subquery that accomplishes the desired result. (Correlated subquery = a subquery that contains a reference to the outer query.)</p>
  
  <p>This will work; however, I should have noted that the platform I'm using is MySQL, for which correlated subqueries are poorly optimized. Any way to do it without using a correlated subquery?</p>