title: LEFT JOIN with GROUP BY returns unexpected result
body: <p>I am trying to select all <code>feeheads</code> that do not exist in <code>st_annual</code> table using the following query, but it only returns one row while I expect to get two rows:</p>
  
  <pre><code>SELECT A.*
  FROM hl_annual A
  LEFT JOIN (
          SELECT feeid, regd, class
          FROM st_annual
          GROUP BY regd, feeid
  ) B ON A.id = B.feeid AND A.class=B.class         
  WHERE A.class='4' AND A.session='2'
  AND B.feeid IS NULL
  </code></pre>
  
  <p>Please look at the <a href="http://sqlfiddle.com/#!9/4cb17" rel="nofollow noreferrer">fiddle</a>. I expect to get id=3 and id=6, but I got only id=3.</p>
  
  <p>I want to select all the distinct feeid present in the st_annual table and I want to compare with the id in the hl_annual table. If feeid does not exist when we group the st_table by regd and feeid, I want to get that absent fee id from hl_annual table. So from the fiddle, I get only feeid 3 which is not in st_annual, but I want to get feeid=6 also because this does not exist in one of the regd in st_annual.</p>