title: SQL count() with group by not returning 0/zero records
body: <p>For ease of discussion, consider this basic table (Test) in Access...</p>
  
  <pre><code>ID  division  name   role
  1    1        Frank  100
  2    2        David  101
  3    3        John   101
  4    2        Mike   102
  5    2        Rob    102
  7    3        Dave   102
  8    3        Greg   102
  </code></pre>
  
  <p>I want to count the users of a certain role in a division.  If I do a simple count(), I get the proper 0 returned:</p>
  
  <pre><code>SELECT COUNT(ID) as ct 
  FROM Test 
  WHERE role &gt;=101 and division=1;
  </code></pre>
  
  <p>yields</p>
  
  <pre><code>division   ct
      1       0
  </code></pre>
  
  <p>However, I want to include the division number in the results (for the sake of further joining, reports, etc) and it always returns null/no rows instead of the division and count of 0:</p>
  
  <pre><code>SELECT division, COUNT(ID) as ct 
  FROM Test WHERE role &gt;=101 
  GROUP BY division 
  HAVING division=1;
  </code></pre>
  
  <p>or</p>
  
  <pre><code>SELECT division, COUNT(ID) as ct 
  FROM Test 
  WHERE role &gt;=101 AND division=1 
  GROUP BY division;
  </code></pre>
  
  <p>yields</p>
  
  <pre><code>division   ct
  </code></pre>
  
  <p>I originally came about this because I would also like this to work if the user enters a division that is not in the table (like 4)...</p>
  
  <pre><code>SELECT division, COUNT(ID) as ct 
  FROM Test 
  WHERE role &gt;=101 AND division IN (1,2,4) 
  GROUP BY division;
  </code></pre>
  
  <p>yields</p>
  
  <pre><code>division   ct
      2       3
  </code></pre>
  
  <p>instead of</p>
  
  <pre><code>division   ct
      1       0
      2       3
      4       0
  </code></pre>
  
  <p>Is it not possible to return division along with the count if the count is 0?  </p>