title: MySQL SELECT multiple rows based on specific field value and number of rows
body: <p>I have three tables:</p>
  
  <pre><code>author (columns: aut_id, aut_name)
  book (columns: book_id, book_title)
  authorbook (linking table, columns: aut_id, book_id)
  </code></pre>
  
  <p>Each author can be associated with one or more books.<br>
  Each book can be associated with one or more authors.<br>
  I would like to select a book by the name(s) and the exact number of its authors.</p>
  
  <p>Table structure:</p>
  
  <pre><code>author    
  aut_id    |   aut_name
  1             Aname
  2             Bname
  3             Cname
  
  book    
  book_id    |  book_title (the titles are identical on purpose) 
  1             Atitle
  2             Atitle
  3             Atitle
  
  authorbook
  aut_id    |   book_id 
  1             1
  1             2
  2             2
  1             3
  2             3
  3             3
  </code></pre>
  
  <p>Here is my code (I left out the author table for better clarification):</p>
  
  <pre><code>SELECT authorbook.book_id 
  FROM authorbook 
  INNER JOIN book
  ON authorbook.book_id = book.book_id
  WHERE book_title='Atitle'
  AND FIND_IN_SET (authorbook.aut_id,'1,2')
  GROUP BY authorbook.book_id
  HAVING (COUNT(authorbook.aut_id)=2)
  </code></pre>
  
  <p>Problem: This code not only returns the desired <code>authorbook.book_id(2)</code> with TWO <code>authorbook.aut_ids (1,2)</code> but also the <code>authorbook.book_id(3)</code> with THREE <code>authorbook.aut_ids (1,2,3)</code>. </p>
  
  <p><strong>Question:</strong> How can I <code>SELECT</code> a book associated with exactly the authors in the <code>FIND_IN_SET</code> clause (and no additional authors)?
  Thanks a lot for your help! </p>