Re: [HACKERS] Table aliases in delete statements? - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [HACKERS] Table aliases in delete statements?
Date
Msg-id 199912080105.UAA18591@candle.pha.pa.us
Whole thread Raw
In response to Re: [HACKERS] Table aliases in delete statements?  (Keith Parks <emkxp01@mtcc.demon.co.uk>)
List pgsql-hackers
> >Don't use s1.  Just refer to native deltest in the subquery.  That
> >should reference the outer table.
> 
> That doesn't seem to work as 3 rows are deleted and not just the
> two duplicates.
> 
> emkxp01=> delete from deltest where respdate not in ( select min(s2.respdate) 
> from deltest s2 where sessionid = s2.sessionid);
> DELETE 3
> emkxp01=> select * from deltest;
>  sessionid |           respdate           
> -----------+------------------------------
>          1 | Tue 07 Dec 22:32:01 1999 GMT
> (1 row)

No.  Use:

emkxp01=> delete from deltest where respdate not in ( select min(s2.respdate) 
from deltest s2 where deltest.sessionid = s2.sessionid);                     ^^^^^^^

--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


pgsql-hackers by date:

Previous
From: Lamar Owen
Date:
Subject: Re: [HACKERS] perl-DBD-Pg (was Re: BOUNCE pgsql-ports@postgreSQL.org: Non-member submission from[Joe Brenner ] (fwd))
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] Table aliases in delete statements?