title: Returning all results in where in clause (Sql Server)
body: <p>I have a table like below:</p>
  
  <pre><code>Book        BookSales    Date
  BookA       $1           2013-03-04
  BookB       $2           2013-03-04
  BookA       $3           2013-03-05
  </code></pre>
  
  <p>...
  ...</p>
  
  <p>I run the query -</p>
  
  <pre><code>select book,booksales,date 
  from tblBook 
  where date&gt;='03/03/2013'  
  and date&lt;='03/05/2013' 
  and book in ('BookA','BookB') 
  order by date,book
  </code></pre>
  
  <p>Now it returns the result as below</p>
  
  <pre><code>BookA     $1            2013-03-04
  BookB     $2            2013-03-04
  BookA     $3            2013-03-05
  </code></pre>
  
  <p>But what i want is returning the empty result($0) for book b as well if it does not exists for that date as shown below). Here, the record for book b does not exist for date 2013-03-05.</p>
  
  <pre><code>BookA     $1            2013-03-04
  BookB     $2            2013-03-04
  BookA     $3            2013-03-05
  BookB     $0            2013-03-05  &lt;-- I want to include this record
  </code></pre>
  
  <p>How can I achieve this ? If it is not possible to achieve this way, what other approach can I consider?</p>