Take these queries: select * from foo as F, (select * from bar where name = 'bla') as B where F.name = B.name union all select * from foo as F, (select * from bar where name = 'bla') as B where F.type = B.type OR create temp table B as select * from bar where name = 'bla'; select * from foo as F, B where F.name = B.name union all select * from foo as F, B where F.type = B.type; drop table B; My question is, which would be more efficient, or is it a wash? (A note, I will be calling this from an external programming laguage, PHP, so the first query would be one Postgres pq_exec call, while the second query would be three separate calls.) -- 5-4-3-2-1 Thunderbirds are GO! ------------------------ http://www.mohawksoft.com ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly