View Single Post

  #1 (permalink)  
Old 05-09-2008
superman183
 
Posts: n/a
Default Novice MySQL Query

Hi,

Hoping someone can assist me with a query I have.

I have two tables, both of which have at least one field of the same
name, type, etc, etc. This field I will call SKEY, for the purposes of
this post. SKEY is a CHAR field, 4 chars in length.

One of the tables, we'll say Table1, has the complete list of
available SKEY's. Table2, on the other hand, contains only some of the
available SKEY's.

I want to be able to find out which SKEY's are missing from Table2;
ie. which SKEY's are in Table1, but not in Table2.

I have tried several different queries, but generally end up in a bit
of a mess, more often returning tens of thousands of results, when in
fact there are only a couple of hundred records in total.

My pseudo-code would be something like:

SELECT SKEY FROM TABLE1 WHERE TABLE1.SKEY NOT LIKE TABLE2.SKEY

The basic query which I tried is:

SELECT TABLE1.SKEY FROM TABLE1 JOIN TABLE2 WHERE TABLE1.SKEY NOT LIKE
TABLE2.SKEY

I also tried a few variations, with DISTINCT, etc, etc ... but I never
end up with anything close to what I need.

So, I'm sure I'm missing some basic knowledge about such a query. I
realise I'm getting thousands of records returned because it's testing
every single record in Table1 against every single record in
Table2 ... but I don't get how to do the type of query I want.

Any assistance much appreciated!

Superman183
Reply With Quote