On 2/8/16, Johannes <jotpe@xxxxxxxxx> wrote: > Am 08.02.2016 um 21:17 schrieb Vitaly Burovoy: >> On 2/8/16, Johannes <jotpe@xxxxxxxxx> wrote: >>> Am 08.02.2016 um 20:15 schrieb David G. Johnston: >>>> On Mon, Feb 8, 2016 at 12:05 PM, Johannes <jotpe@xxxxxxxxx> wrote: >>>> >>>>> Hi, >>>>> >>>>> is there a best practice to share data between two select statements? >>>>> >>>>> Imaging following situation: I want to receive two result sets from >>>>> two >>>>> tables, referring to a specific id from table t0 AND I try not to >>>>> query >>>>> for that specific id a second time. >>>>> >>>>> Table t0 returns 1 row and table t1 returns multiple rows. >>>>> >>>>> begin; >>>>> select id, col1, col2, ... from t0 where id = (select max(id) from t0 >>>>> where col1 = value1 and col2 = value2 and ...); >>>>> select col1 from t1 where t0_id = (select max(id) from t0 where col1 = >>>>> value1 and col2 = value2 and ...); >>>>> commit; >> >> Hmm. Could you clarify why you don't want to pass id from the first >> query to the second one: >> >> select col1 from t1 where t0_id = value_id_from_the_first_query >> > > Of course I could do that, but in that case I would not ask. > > I thougt there could be a better solution to execute all statements at > once. What the reason to execute all statements which return different columns at once? > Saving roundtrips, In most cases they are not so big. Getting a bunch of duplicated data is wasting you network bandwidth and don't increase speed. > increase speed, Speed will be at least the same. In your case either you have to use more DDL (like CREATE TEMP TABLE) or get copied columns that leads more time to encode/decode and send it via network. > a more sophisticated solution, It usually depends on a task. Your case is simple enough and can't lead any sophisticated solution. =( > learn something new... It makes sense. =) > Johannes -- Best regards, Vitaly Burovoy -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general