Search Postgresql Archives

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?

Here's an example. The function finds all zip_code records with the given code, and then searches all locations for a state of that original zip_code. (I know the current query could be done via a join, but my ACTUAL query would require this functionality.)

ÂÂÂ begin;
ÂÂÂ create OR REPLACE function t() returns setof locations as
ÂÂÂ $$
ÂÂÂ declare z zip_codes%rowtype;
ÂÂÂ begin
ÂÂÂ Â for z in select * from zip_codes where code like '%32301%'
ÂÂÂ Â LOOP
ÂÂÂ ÂÂÂ return query select * from locations where locations.state like z.state; #query B
ÂÂÂÂÂÂÂÂÂÂÂ # All I want to do is return the results from all of the above queries as one
ÂÂÂÂÂÂÂÂÂÂÂ # result set.
ÂÂÂ Â END LOOP;
ÂÂÂ Â return;
ÂÂÂ end
ÂÂÂ $$
ÂÂÂ language 'plpgsql';
ÂÂÂ commit;

Any idea how I do that?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux