Re: SQL Dummy Needs Help

From: "Ross J(dot) Reedstrom" <reedstrm(at)rice(dot)edu>
To: Alder <Terrence(dot)Branscombe(at)gems8(dot)gov(dot)bc(dot)ca>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: SQL Dummy Needs Help
Date: 2001-03-13 15:57:41
Message-ID: 20010313095741.A17879@rice.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Fri, Mar 09, 2001 at 11:05:38AM -0800, Alder wrote:
> I'm pretty new to SQL and can't figure out how to write what should be a
> simple query of two tables. Could someone here possibly help me out?
>
> Table 1 has two fields I'm interested in: TITLE_NO and EFFECT_DATE
> Table 2 also has two fields of interest: TITLE_NO and PAIDTO_DATE
>
> TITLE_NO is unique in Table 1, meaning each TITLE will have a unique
> EFFECT_DATE. Table 2 represents an accounting history of each TITLE, so for
> each TITLE_NO there may be one or more PAIDTO_DATE values. In both Tables
> the _DATE fields are stored as 9-character strings in the fomat YYYYMMDD.
> In all cases, the MM and DD values in Table 2 should be identical with those
> in Table 1.
>
> My intention is to produce a list that will contain the TITLE_NO of each
> TITLE where the MMDD value for EFFECT_DATE differ from any of the
> PAIDTO_DATE values for that TITLE_NO. The list must contain ONLY the
> PAIDTO_DATE values that differ, and the corresponding TITLE_NO.

I've seen a couple answers to this, but I think people aren't getting
the question right. I'm presuming that the desired return values are the
EFFECT_DATEs without matching PAIDTO_DATEs, rather than returning
PAIDTO_DATEs, as stated, but that's just tweaking the return set.

It seems to me you're looking for something like:

select * from table1 t where not exists (select * from table2 where
t.title_no = title_no and t.effect_date = paidto_date)

Ross

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Najm Hashmi 2001-03-13 16:33:10 Max Conncection limit?
Previous Message Patrik Kudo 2001-03-13 15:45:45 Re: != and <> operators