Re: trivial sql help

From: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>
To: Patrick Welche <prlw1(at)newn(dot)cam(dot)ac(dot)uk>
Cc: <pgsql-general(at)postgresql(dot)org>
Subject: Re: trivial sql help
Date: 2002-10-10 16:14:41
Message-ID: 20021010091100.C17293-100000@megazone23.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


On Thu, 10 Oct 2002, Patrick Welche wrote:

> update rawrequest
> set cid=(select pc.c
> from pers_comp as pc
> where pc.p=pid
> group by pc.c
> having count(pc.c)=1
> )
> where pr
> ;
>
> ERROR: More than one tuple returned by a subselect used as an expression.
>
> pid, pc.p, pc.c, cid are all integers. pc just has 2 columns p and c.
>
> I thought putting the count()=1 in there would force a single tuple..

No, that'll limit you only to groups having a count of 1. It'll still
give multiple groups. You could probably use limit to get 1 row, but
what's the actual behavior you want the update to have?

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Barry Lind 2002-10-10 16:40:19 Re: Out of memory error on huge resultset
Previous Message Joe Conway 2002-10-10 16:12:28 Re: trivial sql help