join – Find items missing from table


Long time reader, first-time posting. This seems like a simple search but I can’t find the answer I need, and the ones that make sense aren’t giving me the desired result.

I’m almost embarrassed to ask this becasue it has GOT to be the easiest code in the world but I just can’t seem to get it?!

I have 2 tables: ContractType, Inventory

Contract Type:

╔════════╦════════╗
║ TypeID ║ InvtID ║
╠════════╬════════╣
║ A      ║ APPLE  ║
║ A      ║ ORANGE ║
║ A      ║ PEAR   ║
║ B      ║ APPLE  ║
║ B      ║ ORANGE ║
║ C      ║ ORANGE ║
╚════════╩════════╝

Inventory:

╔════════╗
║ InvtID ║
╠════════╣
║ APPLE  ║
║ ORANGE ║
║ PEAR   ║
╚════════╝

What I can’t seem to figure out is how to get a list of TypeID’s that are missing items on Inventory, like so:

╔═══════════╦═══════════╦══════════╗
║ ct.TypeID ║ ct.InvtID ║ i.InvtID ║
╠═══════════╬═══════════╬══════════╣
║ A         ║ APPLE     ║ APPLE    ║
║ A         ║ ORANGE    ║ ORANGE   ║
║ A         ║ PEAR      ║ PEAR     ║
║ B         ║ APPLE     ║ APPLE    ║
║ B         ║ ORANGE    ║ ORANGE   ║
║ B         ║           ║ PEAR     ║
║ C         ║           ║ APPLE    ║
║ C         ║ ORANGE    ║ ORANGE   ║
║ C         ║           ║ PEAR     ║
╚═══════════╩═══════════╩══════════╝

Here’s my attempt, where am I going wrong?

SELECT ct.typeid [CTTypeID], 
       ct.invtid [CTInvtID], 
       i.invtid  [InvtID] 
FROM   contracttype ct 
       FULL OUTER JOIN inventory i 
                    ON ct.invtid = i.invtid 

I don’t even need it in the format above, I just need to know that Type B is missing PEAR & Type C is missing Apple & Pear.