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: | Raw Message | Whole Thread | 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 |