Re: [SQL] unmatched

From: "Ross J(dot) Reedstrom" <reedstrm(at)wallace(dot)ece(dot)rice(dot)edu>
To: pgsql-sql(at)postgreSQL(dot)org
Subject: Re: [SQL] unmatched
Date: 1999-06-10 21:32:08
Message-ID: 19990610163208.A878@wallace.ece.rice.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Thu, Jun 10, 1999 at 08:08:20PM -0400, Brett W. McCoy wrote:
> I seem to have a serious brain fart going here. I have two tables, and
> I want to find out which rows that are in the first do not have a match
> in the second. If I could create an explicit left join, I could do it by
> finding the rows in the second column that are NULL. Here's what I kinda
> have, but itjust sits there and never returns anything:
>
> select count(*) from apdf
> where apdf.doc_index != ondisk.doc_index;

This will return every row in the second table that doesn't math the
current row in the first table, for every single row in the first table.
That's roughly the product of the number or rows in the two tables.

What your looking for is:

select count(*) from apdf where apdf.doc_index not in
(select doc_index from ondisk);

Ross

>
> I tried the NOT IN operator (!!=), but it didn't like that at all. Is !=
> a valid operator?
>
> Brett W. McCoy
> http://www.lan2wan.com/~bmccoy
> -----------------------------------------------------------------------
> "Biology is the only science in which multiplication means the same
> thing as division."
>

--
Ross J. Reedstrom, Ph.D., <reedstrm(at)rice(dot)edu>
NSBRI Research Scientist/Programmer
Computer and Information Technology Institute
Rice University, 6100 S. Main St., Houston, TX 77005

In response to

  • unmatched at 1999-06-11 00:08:20 from Brett W. McCoy

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 1999-06-10 23:14:45 Re: [SQL] SQL Problem: ERROR: ExecEvalExpr: unknown expression type 108
Previous Message Emils Klotins 1999-06-10 14:14:24 Re: [SQL] DataStyle