| From: | "Leandro Casadei" <mateamargo(at)gmail(dot)com> |
|---|---|
| To: | "Stephan Szabo" <sszabo(at)megazone(dot)bigpanda(dot)com> |
| Cc: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: Updating with a subselect |
| Date: | 2008-04-23 14:38:03 |
| Message-ID: | 5983afbb0804230738y6dcf6be7he7aa5e9935b51909@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On Wed, Apr 23, 2008 at 10:59 AM, Stephan Szabo <
sszabo(at)megazone(dot)bigpanda(dot)com> wrote:
> On Tue, 22 Apr 2008, Leandro Casadei wrote:
>
> > Hi, I need to update a field from a table based in a count.
> >
> > This is the query:
> >
> >
> > update shops
> > set itemsqty =
> > (
> > select count(*)
> > from items i1
> > join shops s1 on i1.shopid = s1.shopid
> > where s1.shopid = s0.shopid
> > )
> > from shops s0
>
> I think you'll actually want something simpler. The following might do
> what you want.
>
> update shops
> set itemsqty =
> (
> select count(*)
> from items i1
> where i1.shopid = shops.shopid
> )
>
Yes, thanks. I've received a similar answer in the PostgreSQL Forums.
I don't know why the join did't work.
I had to do this with another table, and the subselect needed a few joins,
but I have replaced them with the table names separated by commas and it
worked too.
Might this be some kind of bug?
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2008-04-23 15:00:30 | Re: Deny creation of tables for a user |
| Previous Message | Tom Lane | 2008-04-23 14:35:35 | Re: tsearch2 problem |