| From: | CSN <cool_screen_name90001(at)yahoo(dot)com> | 
|---|---|
| To: | pgsql-general(at)postgresql(dot)org | 
| Subject: | Re: update set x=(subquery on same table) | 
| Date: | 2004-02-13 09:20:12 | 
| Message-ID: | 20040213092012.22951.qmail@web40605.mail.yahoo.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
NM, figured it out :)
update nodes set parent_id=NULL where id in (select
n1.id from nodes n1 left join nodes n2 on
n1.parent_id=n2.id where n2.id is null);
CSN
--- CSN <cool_screen_name90001(at)yahoo(dot)com> wrote:
> 
> That does the trick. I'd also like to figure out a
> way
> to set all parent_ids to NULL if no parent row can
> be
> found. I haven't been able to figure it out so far.
> 
> Thanks,
> CSN
> 
> 
> --- Martijn van Oosterhout <kleptog(at)svana(dot)org>
> wrote:
> > On Fri, Feb 13, 2004 at 12:18:14AM -0800, CSN
> wrote:
> > > I'm trying to do:
> > > 
> > > update nodes n1 set n1.parent_id=(select n2.id
> > from
> > > nodes n2 where n2.key=n1.parent_id);
> > > 
> > > To set parent_id to the id of the parent (rather
> > than
> > > the key). Would UPDATE FROM fromlist work? I
> > couldn't
> > > find any examples of it's use.
> > 
> > See the online help:
> > 
> > # \h update
> > Command:     UPDATE
> > Description: update rows of a table
> > Syntax:
> > UPDATE [ ONLY ] table SET col = expression [, ...]
> >     [ FROM fromlist ]
> >     [ WHERE condition ]
> > 
> > So try:
> > 
> > update nodes set parent_id=n2.id FROM nodes n2
> where
> > n2.key=nodes.parent_id;
> > 
> > Unfortunatly you can't alias the table you're
> > updating, but you can alias
> > the rest.
> > -- 
> > Martijn van Oosterhout   <kleptog(at)svana(dot)org>  
> > http://svana.org/kleptog/
> > > (... have gone from d-i being barely usable even
> > by its developers
> > > anywhere, to being about 20% done. Sweet. And
> the
> > last 80% usually takes
> > > 20% of the time, too, right?) -- Anthony Towns,
> > debian-devel-announce
> > 
> 
> > ATTACHMENT part 2 application/pgp-signature 
> 
> 
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! Finance: Get your refund fast by filing
> online.
> http://taxes.yahoo.com/filing.html
> 
__________________________________
Do you Yahoo!?
Yahoo! Finance: Get your refund fast by filing online.
http://taxes.yahoo.com/filing.html
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Richard Huxton | 2004-02-13 09:57:33 | Re: inheritance vs performance | 
| Previous Message | Mark Gibson | 2004-02-13 09:19:05 | dblink - custom datatypes NOW work :) |