title: How to check absence of data (SQL Server 2008)
body: <p>Basically this is a reporting system, where user report their activity daily so I want to check for users who don't report their daily activity.</p>
  
  <p>I join 2 tables with this query to check for people who report in a certain date</p>
  
  <pre><code>SELECT DISTINCT Report.InputDate, User.ID, User.Name
  FROM User JOIN Report on User.ID = Report.ID 
  WHERE Report.InputDate BETWEEN '2014-02-01' AND '2014-02-04'
  ORDER BY Report.InputDate
  </code></pre>
  
  <p>So if someone didn't report at 2014-02-02 the result will be:</p>
  
  <pre><code>2014-02-01 | Guy | 01 |
  2014-02-03 | Guy | 01 |
  </code></pre>
  
  <p>What I'm looking for is how to check for the people that <strong>didn't report</strong> at the range of date in the query, so the result will be:</p>
  
  <pre><code>2014-02-02 | Guy | 01 |
  </code></pre>
  
  <p>(And if possible, it will display a row with a date where no one even report, so if no one report at 2014-02-01 the result will be):</p>
  
  <pre><code>2014-02-01 |  |  |
  </code></pre>
  
  <p>*<strong>update</strong></p>
  
  <p>Let's say the columns in table User are: ID, Name</p>
  
  <p>Columns in table Report are: ID, InputDate</p>
  
  <p>And there is another table, ReportDetail that has columns: ID, ActivityType</p>