title: How to use an MySQL association table to return categories not currently assigned to an entry
body: <p>I have a database of product entries.  Each product entry can be associated with multiple categories.  I have created an association table to create these associations.  What I am trying to do is create a MySQL query that will return all categories that are not currently assigned to the entry.</p>
  
  <p>So if an entry is a Pool Table and it is already assigned to the Gaming category, I want to create a query that will return all categories except Gaming.  </p>
  
  <p>Below are table structure for my database.  Any help would be greatly appreciated.</p>
  
  <p><strong>Entry Table:</strong></p>
  
  <pre><code>+--------------+------------------+
  | Field        | Type             |
  +--------------+------------------+
  | eid          | int(10) unsigned |
  | entry_name   | varchar(50)      |
  +--------------+------------------+
  </code></pre>
  
  <p><strong>Category Table:</strong></p>
  
  <pre><code>+----------------+------------------------+
  | Field          | Type                   |
  +----------------+------------------------+
  | cid            | smallint(11) unsigned  |
  | cat_name       | varchar(30)            |
  +----------------+------------------------+
  </code></pre>
  
  <p><strong>Association Table:</strong></p>
  
  <pre><code>+-------+-----------------------+
  | Field | Type                  |
  +-------+-----------------------+
  | eid   | int(10) unsigned      |
  | cid   | smallint(11) unsigned |
  +-------+-----------------------+
  </code></pre>