| From: | "Booth, Robert" <Robert_Booth(at)intuit(dot)com> | 
|---|---|
| To: | "'Tom Lane'" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Booth, Robert" <Robert_Booth(at)intuit(dot)com> | 
| Cc: | "PostgreSQL General" <pgsql-general(at)postgresql(dot)org> | 
| Subject: | Re: Update FROM clause? | 
| Date: | 2002-11-01 20:51:16 | 
| Message-ID: | 419D2EB7B461D411A53B00508B69181D06232954@sdex02.sd.intuit.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
> "Booth, Robert" <Robert_Booth(at)intuit(dot)com> writes:
> > SELECT count(*)
> >   FROM (allforms LEFT OUTER JOIN aanda ON allforms.file__no =
> > aanda.file__no)
> >  INNER JOIN formsin ON allforms.file__no = formsin.file__no
> >  WHERE ... Omitted ...
> 
> > The Postgres UPDATE Query:
> > UPDATE allforms
> >    SET status = 'Okay to Edit'
> >   FROM formsin LEFT OUTER JOIN aanda ON formsin.file__no = 
> aanda.file__no
> >  WHERE allforms.file__no = formsin.file__no
> >    AND ... Omitted, matches the Access Query ...
> 
> Those are not the same thing at all.  Your UPDATE is more like
> 
> SELECT ...
> FROM allforms,
>      (formsin LEFT OUTER JOIN aanda ON formsin.file__no = 
> aanda.file__no)
> WHERE allforms.file__no = formsin.file__no
>   AND ... Omitted, matches the Access Query ...
> 
> which is reversing the order of the inner and outer join steps.
> Depending on your data this might yield quite a different result.
> 
> 			regards, tom lane
> 
I was thinking about that, but when I run the selects I end up with the same
records.  I've been checking them since I sent the email.  So I'm wondering
what I'm missing, or how I can get the UPDATE to perform the same as the
SELECT, that uses the same structure.
Rob
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Roderick A. Anderson | 2002-11-01 20:52:38 | Re: [Q] Sequences, last_value and inserts | 
| Previous Message | Gregory Wood | 2002-11-01 20:48:05 | Re: [Q] Sequences, last_value and inserts |