DELETE FROM tableA WHERE NOT IN tableB ... - Mailing list pgsql-sql

From The Hermit Hacker
Subject DELETE FROM tableA WHERE NOT IN tableB ...
Date
Msg-id Pine.BSF.4.21.0004181015390.226-100000@thelab.hub.org
Whole thread Raw
Responses Re: DELETE FROM tableA WHERE NOT IN tableB ...  (<kaiq@realtyideas.com>)
List pgsql-sql
And now for todays trick question ...

have two tables, one of them is simple a string and a serial value, the
second one is the serial value and more data ...

I want to clean out all records from tableB older then date (that is
easy), then I want to clean out all values from tableB where there is no
corresponding record in tableB ...

basically tableA's serial field is unique, but tableB's could have
multiple records associated with. 

basically, what i've tried to do in a SELECT is something like:

SELECT referer_id  FROM referer_data 
EXCEPT      SELECT distinct(referer_id) FROM referer_link;

But after 15 minutes, that's still running, so obviously that won't work ...

I can do it "in perl", but would love to come up with a nice, elegant, 'in
server' method of doing this instead :)

Thanks...

Marc G. Fournier                   ICQ#7615664               IRC Nick: Scrappy
Systems Administrator @ hub.org 
primary: scrappy@hub.org           secondary: scrappy@{freebsd|postgresql}.org 



pgsql-sql by date:

Previous
From: Alexander Stetsenko
Date:
Subject: trouble with null
Next
From: "Moray McConnachie"
Date:
Subject: Re: DELETE FROM tableA WHERE NOT IN tableB ...