Q:

Join table on itself

I have sufficiently hurt my brain now trying to figure out the logic behind this.       
I have a table as follows
entry_id | cat_id
       1 | 233
       1 | 234
       1 | 678
       2 | 235
       2 | 453
       2 | 21
       3 | 234
       3 | 123

Is there a way to return in a single query, every category id that is also associated with the same entry ids.   So, the select statement would select based on the cat_id, for example 234.   What would be returned are the category IDs:
233, 678, 123

A:

SELECT  t2.cat_id
FROM    mytable t1
JOIN    mytable t2
ON      t2.entry_id = t1.entry_id
        AND t2.cat_id <> t1.cat_id
WHERE   t1.cat_id = 234

A:

SELECT cat_id FROM table
  WHERE entry_id IN (SELECT entry_id FROM table WHERE cat_id = 234)
AND cat_id <> 234

