View Single Post

  #3 (permalink)  
Old 05-09-2008
user
 
Posts: n/a
Default Re: Novice MySQL Query

On Fri, 09 May 2008 04:44:55 -0700, superman183 wrote:

> 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....



Have you tried this code?

select skey from table1, table2 where table1.skey not in table2.skey

Or, pulling your complete second table as a sub-query (I think this may
be needed; it's been a while):

select a.skey from table1 a, (select distinct skey from table2) b where
a.skey not in b

Luck

Reply With Quote