From: | Jinn Koriech <lists(at)idealint(dot)co(dot)uk> |
---|---|
To: | PostgreSQL Mailing List <pgsql-sql(at)postgresql(dot)org> |
Subject: | negative queries puzzle |
Date: | 2002-07-31 19:15:36 |
Message-ID: | 1028142936.16285.44.camel@morph.magiclamp.2y.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
hi all,
here's a query i've never been able to improve:
i have an old data set and a new data set - in this case uk postcodes
with eastings and northings. i want to extract the new and changed
postcodes from the new set. to get the changed entries i use a join and
it works okay:
SELECT n.postcode, n.easting, n.northing FROM v_postcode_new n,
v_postcode_old o WHERE n.postcode = o.postcode AND (n.easting <>
o.lattitude OR n.northing <> o.longitude);
but then to get the entirely new items out i use a sub query which takes
for ever
SELECT DISTINCT * FROM v_postcode_new WHERE postcode NOT IN ( SELECT
postcode FROM v_postcode_old ) ORDER BY postcode ASC;
does anyone know of a quicker way to accomplish this? i guess there
must be some cleaver way around it, but it's beyond me.
thanks,
jinn
From | Date | Subject | |
---|---|---|---|
Next Message | Stephan Szabo | 2002-07-31 20:08:43 | Re: negative queries puzzle |
Previous Message | Chad R. Larson | 2002-07-31 18:22:55 | Re: 3-tier |