Re: How do we combine and return results from multiple queries in a loop?

From: Bernardo Telles <btelles(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: How do we combine and return results from multiple queries in a loop?
Date: 2011-05-16 17:12:30
Message-ID: BANLkTikw7BPZQquLWcpH6Qcy4MLvqTLOOQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi John,
Thanks for the quick response. I'll elaborate on the *actual* problem.
Basically, I want to call:

select * from partiesWithin("DAYTONA", "FL", 5);

The partiesWithin() function finds all zip codes (and zip_code centroids),
then searches a 5 (or n) mile radius around those centroids for parties.
Since each zip code has a 'point' column which is a PostGIS feature, I need
to iterate through each of those points, and search for parties within 5
miles of each of the centroids, returning a concatenated query of all
parties that were found in any of the queries. Someone mentioned that one
way to do that is to use a temporary table inside the partiesWithin
function. Any thoughts?

On Mon, May 16, 2011 at 1:28 AM, John R Pierce <pierce(at)hogranch(dot)com> wrote:

> On 05/15/11 8:53 PM, Bernardo Telles wrote:
>
>> Hi there,
>> We'd like to use a plpgsql function to use results from query A to execute
>> several queries B, C, etc., and return the results of all B, C, etc queries
>> as one result set. Would placing 'RETURN QUERY' inside a loop automatically
>> concatenate all 'return query' results in the function's return? If not, how
>> would we go about getting this result?
>>
>
> all the queries would have to have the same fields to do this. if they do,
> then you can write it as a join or union.
>
> in your example case, its easy.
>
> select * from locations l join zipcode z on l.state = z.state where
> z.zipcode like '32301%';
>
> this also would be more efficient than the way you proposed
>
> now, if you're thinking of a DIFFERENT problem thats more complex to solve,
> well, without knowing the actual problem there's not much I can suggest.
>
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David Johnston 2011-05-16 17:55:17 Re: How do we combine and return results from multiple queries in a loop?
Previous Message David Johnston 2011-05-16 16:43:48 Re: Query to return every 1st Sat of a month between two dates