title: UPDATE from SELECT complains about more that one value returned
body: <p>I have this data structure:</p>
  
  <pre><code>request
  =======
  building_id
  lot_code
  
  building
  ========
  building_id
  lot_id
  
  lot
  ===
  lot_id
  lot_code
  </code></pre>
  
  <p>The <code>request</code> table is missing the value for the <code>building_id</code> column and I want to fill it in from the other tables. So I've tried this:</p>
  
  <pre><code>UPDATE request
  SET building_id = (
      SELECT bu.building_id
      FROM building bu
      INNER JOIN lot lo ON bu.lot_id=lo.lot_id
      WHERE lo.lot_code = request.lot_code
  );
  </code></pre>
  
  <p>But I'm getting this error:</p>
  
  <blockquote>
    <p>Subquery returned more than 1 value.
    This is not permitted when the
    subquery follows =, !=, &lt;, &lt;= , >, >=
    or when the subquery is used as an
    expression.</p>
  </blockquote>
  
  <p>Is it due to wrong syntax? The data model allows more than one building per lot but actual data doesn't contain such cases so there should be at most one <code>building_id</code> per <code>lot_code</code>.</p>